CentOS 上 VSFTP 故障排查方法

一 快速定位流程
sudo systemctl status vsftpd,若未运行则 sudo systemctl start vsftpdsudo ss -tulpen | grep ':21|:20',确认 21(控制)与(若启用主动模式)20(数据)处于监听anonymous_enable、local_enable、write_enable、chroot_local_user、listen、listen_ipv6sudo systemctl restart vsftpd/var/log/messages 或 journalctl -u vsftpd -xeftp your_server_ip 或使用 FileZilla;必要时从外网/不同主机测试,排除客户端问题二 常见故障与处理要点
vsftpd 正在监听;netstat/ss 检查端口占用并释放或更换端口/etc/ftpusers;检查 /etc/pam.d/vsftpd;查看日志中认证失败细节chmod 755 与 chown 修正属主;SELinux 下启用 setsebool -P ftp_home_dir onsetsebool -P allow_ftpd_full_access onvsftpd.conf 设置 pasv_enable=YES、pasv_min_port、pasv_max_port,并在防火墙放行该范围三 防火墙与 SELinux 配置
sudo firewall-cmd --permanent --zone=public --add-service=ftp && sudo firewall-cmd --reloadsudo firewall-cmd --permanent --add-port=6000-7000/tcp && sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 21 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 6000:7000 -j ACCEPTsetsebool -P ftp_home_dir on、setsebool -P allow_ftpd_full_access onsudo setenforce 0(验证后再恢复为 enforcing 并采用永久布尔值)四 配置与权限检查清单
anonymous_enable=NO、local_enable=YES、write_enable=YESlocal_root(如需统一根目录)、chroot_local_user=YESpasv_enable=YES、pasv_min_port=6000、pasv_max_port=7000listen_ipv6=YES/NO,避免与 IPv4 冲突chmod 755 /path、chown ftpuser:ftpgroup /path五 日志分析与验证
tail -f /var/log/vsftpd.log 实时观察登录、权限、目录切换与传输错误journalctl -u vsftpd -xe 获取启动参数、权限拒绝与 PAM 报错DeepSeek多模态怎么样及保姆级配置教程(codex、claude)实用指南
WSL2+Docker+Ollama本地部署大模型思路和实践指南(Qwen1.8b)实用指南
DeepSeek Harness热门插件盘点:10个实用插件,覆盖多Agent、上下文和多模态实用指南
grep文本搜索与正则表达式完整代码示例实用指南
AI漫剧伪装直男1‑24集无雾版夸克网盘资源免费分享
AI漫剧玉僧入尘1-68集无雾无删版夸克网盘资源免费分享