CentOS FTP服务器配置错误排查手册
一 快速定位流程
二 配置文件与权限要点
三 防火墙与SELinux设置
四 常见错误对照与处理
| 现象 | 可能原因 | 快速处理 |
|---|---|---|
| 530 Login incorrect | 用户名/密码错误、PAM限制、用户被**/etc/pam.d/vsftpd或/etc/vsftpd/ftpusers**拒绝 | 核对凭据;检查PAM配置与黑名单文件;必要时在ftpusers中移除该用户 |
| 无法连接/超时 | 防火墙未放行21/tcp、服务未启动、端口未监听 | 放行21端口;systemctl start vsftpd;用ss/netstat确认监听 |
| 500 OOPS: cannot change directory | SELinux限制、目录不存在或无权限、父目录不可遍历 | 临时setenforce 0验证;修正目录权限与属主;必要时用semanage设置上下文 |
| 500 Illegal PORT command | 主动模式被防火墙/NAT阻断 | 客户端改用被动模式(PASV);或在防火墙上放行服务器的高位数据端口范围 |
| 550 Permission denied | 目标文件/目录权限不足或属主错误 | 将目录属主设为登录用户,权限设为755/644;避免使用777 |
| 550 File unavailable (no space on device) | 磁盘空间不足或文件被占用 | 执行df -h检查;清理空间或释放被占用文件 |
| 日志中出现“config file not owned by correct user” | 配置文件属主/权限错误 | 执行chown root:root /etc/vsftpd/vsftpd.conf && chmod 644 /etc/vsftpd/vsftpd.conf |
五 被动模式与FTPS的专项检查