CentOS FTP Server常见故障及解决方法
一、服务无法启动
- 检查服务状态:使用
systemctl status vsftpd确认服务是否运行,未启动则执行systemctl start vsftpd。 - 查看日志:通过
journalctl -xe或/var/log/secure查找启动失败原因,如配置文件错误、端口冲突等。
二、登录失败(530错误)
- 验证用户名/密码:确保输入正确,检查是否在
/etc/ftpusers中被禁止登录。 - 检查配置文件:确认
vsftpd.conf中local_enable=YES且chroot_local_user设置正确。 - 用户权限:确保用户主目录存在且权限为
755,使用chown和chmod修正。
三、文件上传/下载失败(550/553错误)
- 目录权限:检查目标目录是否可写,设置
write_enable=YES并确保目录权限为775或777。 - SELinux限制:临时执行
setenforce 0测试,或永久配置setsebool -P ftp_home_dir=1允许访问。
四、连接问题(无法连接/超时)
- 网络连通性:用
ping和telnet测试网络及端口是否可达。21 - 防火墙设置:开放FTP端口(默认21)及被动模式端口范围(如10000-10070),执行
firewall-cmd --add-port=21/tcp --permanent并重载。 - 连接模式不匹配:客户端需与服务器配置一致(主动/被动模式),在
vsftpd.conf中设置pasv_enable=YES。
五、被动模式端口问题
- 配置被动端口范围:在
vsftpd.conf中添加pasv_min_port=10060 pasv_max_port=10070,并确保防火墙放行。
六、SELinux相关错误
- 查看SELinux状态:用
sestatus确认是否启用,临时禁用用setenforce 0,永久修改需编辑/etc/selinux/config。 - 允许FTP访问:执行
setsebool -P ftp_home_dir=1和setsebool -P allow_ftpd_full_access=1。
七、配置文件语法错误
- 检查配置文件:用
vsftpd -t测试配置文件语法,修正错误后重启服务。
操作前建议:修改配置前备份文件,操作后重启服务 systemctl restart vsftpd,并优先通过日志定位问题。