Debian下vsftpd故障排查步骤如下:
检查服务状态
sudo systemctl status vsftpd # 查看是否运行,未运行则启动
sudo systemctl start vsftpd
sudo systemctl enable vsftpd # 设置开机自启
检查配置文件
/etc/vsftpd.conf无语法错误:sudo vsftpd -t # 测试配置文件语法
listen=YES、local_enable=YES、write_enable=YES等需正确设置。查看日志文件
sudo tail -f /var/log/vsftpd.log # 实时查看错误日志
sudo journalctl -xe # 查看系统日志中的详细错误
处理端口占用
sudo netstat -tuln | grep :21 # 检查21端口是否被占用
# 若被占用,修改配置文件中的listen_port或停止占用服务
检查权限与SELinux
755):sudo chown -R ftpuser:ftpuser /path/to/ftp
sudo chmod -R 755 /path/to/ftp
sudo setenforce 0 # 临时设为permissive模式
sudo setsebool -P ftpd_full_access 1 # 允许FTP访问
检查防火墙设置
sudo ufw status # 查看防火墙规则
sudo ufw allow 21/tcp # 开放FTP端口(被动模式需额外端口)
sudo ufw reload
其他常见问题
/etc/vsftpd.ftpusers是否禁止该用户。write_enable=YES且目录可写。root)及依赖包是否完整。修改配置后,务必重启服务:
sudo systemctl restart vsftpd
若问题仍未解决,可通过journalctl -u vsftpd获取更详细的错误信息,或在社区论坛搜索具体错误代码。