以下是Debian上vsftpd的故障排查步骤:
检查服务状态
sudo systemctl status vsftpd # 查看服务是否运行,未运行则启动
sudo systemctl start vsftpd
查看日志文件
sudo tail -n 50 /var/log/vsftpd.log # 分析错误信息
sudo journalctl -xe # 查看系统级日志
验证配置文件
sudo vsftpd -t # 检查配置文件语法
sudo nano /etc/vsftpd.conf # 确保关键参数正确(如listen=YES、local_enable=YES等)
sudo chown root:root /etc/vsftpd.conf # 确保属主正确
sudo chmod 644 /etc/vsftpd.conf # 确保权限正确
检查防火墙与端口
sudo ufw status # 确认开放FTP端口(20、21)
sudo ufw allow 20/tcp # 允许数据传输端口(若需)
sudo ufw allow 21/tcp # 允许控制连接端口
处理用户权限问题
sudo chown -R ftpuser:ftpuser /path/to/ftp/dir # 确保用户对目录有权限
sudo chmod -R 755 /path/to/ftp/dir # 设置目录权限为755
sudo usermod -a -G ftp username # 将用户加入ftp组(若需)
排查SELinux(若启用)
sudo setenforce 0 # 临时关闭SELinux
sudo setsebool -P ftpd_full_access 1 # 允许FTP访问
其他常见问题
sudo netstat -tuln | grep :21检查端口占用,修改配置文件listen参数或停止冲突服务。anonymous_enable、chroot_local_user等参数符合需求,修改后重启服务。sudo apt update && sudo apt install --reinstall vsftpd
提示:操作前建议备份配置文件,若问题仍未解决,可根据日志中的具体错误信息进一步搜索解决方案。