排查CentOS上VSFTP故障可按以下步骤进行:
检查服务状态
sudo systemctl status vsftpd
若未运行,启动服务:
sudo systemctl start vsftpd
查看日志文件
分析错误信息,常见路径:
/var/log/vsftpd.log/var/log/secure 或 /var/log/messages验证配置文件
检查 /etc/vsftpd/vsftpd.conf 关键参数:
listen=YES(监听端口,默认21)anonymous_enable=NO(禁用匿名登录)local_enable=YES(允许本地用户登录)write_enable=YES(允许上传)chroot_local_user=YES(限制用户主目录)sudo systemctl restart vsftpd
检查用户权限
sudo chown -R ftpuser:ftpuser /home/ftpuser
sudo chmod -R 755 /home/ftpuser
/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,确保用户未被禁止登录。配置防火墙
开放FTP端口(默认21,被动模式需额外端口范围):
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
若使用iptables:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
处理SELinux问题
sudo setenforce 0
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
排查网络与端口
sudo netstat -tuln | grep 21
pasv_min_port 和 pasv_max_port 在防火墙中开放。常见错误处理
/etc/ftpusers 文件及PAM配置。提示:每次修改配置后需重启服务,优先通过日志定位具体错误原因。若问题复杂,可参考VSFTP官方文档或社区论坛。