以下是Ubuntu系统中vsftpd的故障排除方法:
检查服务状态
sudo systemctl status vsftpd # 查看服务是否运行
sudo systemctl start vsftpd # 启动服务
sudo systemctl enable vsftpd # 设置开机自启
检查配置文件
编辑 /etc/vsftpd.conf,确保关键配置正确(如 listen=YES、local_enable=YES、write_enable=YES 等),修改后重启服务:
sudo nano /etc/vsftpd.conf
sudo systemctl restart vsftpd
检查防火墙设置
确保允许FTP端口(默认21)及被动模式端口范围(如50000-50050):
sudo ufw allow 21/tcp
sudo ufw allow 50000:50050/tcp
sudo ufw reload
查看系统日志
通过日志定位具体错误:
sudo journalctl -u vsftpd # 查看vsftpd服务日志
sudo tail -f /var/log/vsftpd.log # 查看详细日志
处理权限问题
确保用户主目录及上传目录权限正确:
sudo chown -R ftpuser:ftpuser /home/ftpuser
sudo chmod -R 755 /home/ftpuser
检查端口冲突
使用 netstat 或 ss 查看端口占用情况,避免与其他服务冲突:
sudo netstat -tuln | grep :21
调整SELinux策略(若启用)
临时禁用或配置允许FTP访问:
sudo setenforce 0 # 临时禁用
sudo setsebool -P ftpd_full_access on # 允许FTP访问
测试客户端连接
使用FTP工具(如FileZilla)测试连接,验证配置是否生效。
若问题仍未解决,可根据日志中的具体错误信息进一步排查,或参考社区论坛的解决方案。