centos vsftp安装步骤是什么
导读:CentOS 上安装与配置 VSFTPD 的标准步骤 一 安装与基础准备 更新软件源并安装:执行命令:yum install vsftpd -y。 创建专用系统用户(禁止登录 shell,更安全):先确认 nologin 路径(常见为 /...
CentOS 上安装与配置 VSFTPD 的标准步骤
一 安装与基础准备
- 更新软件源并安装:执行命令:yum install vsftpd -y。
- 创建专用系统用户(禁止登录 shell,更安全):先确认 nologin 路径(常见为 /usr/sbin/nologin 或 /sbin/nologin),然后执行:
- 添加用户:useradd -d /home/wwwroot -s /sbin/nologin pwftp
- 设置密码:passwd pwftp
- 调整目录属主:chown -R pwftp:pwftp /home/wwwroot
- 如系统使用 nologin 作为登录 shell,确保其写入 /etc/shells,否则 FTP 登录可能被拒绝。
二 核心配置 vsftpd.conf
- 编辑配置文件:vi /etc/vsftpd/vsftpd.conf,常用安全与功能项如下(按需求调整):
| 配置项 | 建议值 | 说明 |
|---|---|---|
| anonymous_enable | NO | 禁止匿名访问 |
| local_enable | YES | 允许本地系统用户登录 |
| write_enable | YES | 允许写操作(上传/删除/改名) |
| chroot_local_user | YES | 将本地用户限制在其家目录 |
| chroot_list_enable | YES/NO | 是否启用“例外用户列表” |
| chroot_list_file | /etc/vsftpd/chroot_list | 例外用户清单(与上行配合使用) |
| pasv_enable | YES | 启用被动模式(PASV) |
| pasv_min_port | 30000 | 被动模式最小端口 |
| pasv_max_port | 30100 | 被动模式最大端口 |
| local_root | /var/ftp | 可选:为本地用户统一指定根目录 |
- 若需要“例外用户不被 chroot”,可设置:chroot_local_user=YES 且 chroot_list_enable=YES,并将这些用户名逐行写入 /etc/vsftpd/chroot_list。
- 如需日志:可创建日志文件 touch /var/log/vsftpd.log,并在配置中设置 xferlog_file=/var/log/vsftpd.log 与 xferlog_enable=YES。
三 防火墙与 SELinux 设置
- 防火墙放行:
- 放行控制端口:firewall-cmd --permanent --add-port=21/tcp & & firewall-cmd --reload
- 放行被动端口段:firewall-cmd --permanent --add-port=30000-30100/tcp & & firewall-cmd --reload
- SELinux(如启用):
- 允许本地用户家目录访问:setsebool -P ftp_home_dir 1
- 如需更宽松的 FTP 访问(仅在可信网络中使用):setsebool -P allow_ftpd_full_access 1
- 说明:不同版本 SELinux 布尔项名称可能略有差异,以上为常见用法。
四 启动与验证
- 启动与开机自启:
- 立即启动:systemctl start vsftpd
- 开机自启:systemctl enable vsftpd
- 查看状态:systemctl status vsftpd
- 连接测试:
- 命令行:ftp your_server_ip,使用前面创建的本地用户(如 pwftp)登录并测试上传/下载。
- 建议使用支持 FTP 的客户端工具(如 FileZilla),在站点设置中启用被动模式并填写端口段 30000-30100。
五 常见问题与排查
- 登录被拒或提示 shell 不允许:确认 /etc/shells 包含 /sbin/nologin 或 /usr/sbin/nologin。
- 500 OOPS: could not read chroot() list file:当启用 chroot_list_enable=YES 但未创建或无权限读取 /etc/vsftpd/chroot_list 时出现。可创建该文件并写入允许例外用户,或临时改为 chroot_list_enable=NO 验证。
- 被动模式无法列目录或传输:检查防火墙是否放行 21 与 30000-30100/tcp,以及 vsftpd.conf 中 PASV 端口范围配置是否正确。
- SELinux 导致无法访问家目录或写入失败:按需开启 ftp_home_dir 或 allow_ftpd_full_access 布尔值。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos vsftp安装步骤是什么
本文地址: https://pptw.com/jishu/760688.html
