CentOS 上 vsftpd 故障排查步骤
一 快速定位流程
二 常见症状与处理要点
三 配置文件关键项与建议值
四 防火墙与 SELinux 设置
五 一键核查清单
| 检查项 | 命令示例 | 期望结果/处理 |
|---|---|---|
| 服务运行 | systemctl status vsftpd | 状态为 active (running);异常则 start/restart |
| 监听端口 | netstat -tulpen | 0.0.0.0:21 或 :::21 处于 LISTEN |
| 本机连通 | telnet 127.0.0.1 21 | 220 欢迎信息 |
| 防火墙放行 | firewall-cmd --query-service=ftp | yes;否则添加服务并重载 |
| 被动端口范围 | firewall-cmd --query-port=10060-10070/tcp | yes;与配置一致 |
| SELinux 状态 | getenforce | Permissive/Enforcing;必要时调整布尔值 |
| 登录失败 | tail -n50 /var/log/vsftpd.log /var/log/secure | 无 530/Login incorrect;检查 /etc/ftpusers 与 PAM |
| 上传失败 | ls -ld ~ftpuser /path && getsebool ftp_home_dir | 目录可写;必要时 setsebool -P ftp_home_dir on |
| 配置生效 | systemctl restart vsftpd | 修改后立即重启服务 |