CentOS FTP服务器连接问题排查与修复
一 快速定位流程
二 配置 vsftpd 与防火墙
三 SELinux 与权限设置
四 常见错误与修复对照
| 现象 | 可能原因 | 快速修复 |
|---|---|---|
| 连接超时/被拒绝 | 服务未启动、21端口未放行、云安全组未放行 | systemctl start vsftpd;firewall-cmd 放行21;云控制台放行入站21 |
| 登录失败(530 Login incorrect) | 用户名/密码错误、PAM/SELinux 限制、账户被锁 | 核对凭据;检查/var/log/secure;setsebool -P ftp_home_dir on |
| 目录无法写入/列表失败 | chroot 目录不可写、权限错误 | 设置目录属主为登录用户;chmod 755;必要时配置 allow_writeable_chroot(若启用) |
| 被动模式卡在“传输数据” | 被动端口范围未放行、客户端未使用被动模式 | 在 vsftpd.conf 设置 pasv_min_port/pasv_max_port 并在防火墙放行;客户端选择被动模式(PASV) |
| 日志报错“500 OOPS: vsftpd: refusing to run with writable root inside chroot()” | chroot 后根目录可写触发安全限制 | 将可写目录放到主目录下并使用子目录承载数据,或启用 allow_writeable_chroot(视版本与策略而定) |
五 验证与进一步排查