解决Debian下vsftpd连接问题可按以下步骤排查:
检查服务状态
sudo systemctl status vsftpd # 确保服务运行,未运行则启动
sudo systemctl start vsftpd
sudo systemctl enable vsftpd # 设置开机自启
验证配置文件
编辑 /etc/vsftpd.conf,确保关键参数正确:
local_enable=YESwrite_enable=YESpasv_enable=YES,并设置pasv_min_port/pasv_max_portsudo systemctl restart vsftpd处理防火墙与端口
sudo ufw allow 21/tcp(默认FTP端口)排查用户权限
sudo chown -R ftpuser:ftpuser /home/ftpuser,sudo chmod -R 755 /home/ftpuser/etc/vsftpd.conf中chroot_local_user是否限制用户目录查看日志定位问题
sudo tail -f /var/log/vsftpd.log # 实时查看错误日志
grep "500 OOPS" /var/log/vsftpd.log # 常见错误如权限不足、SELinux限制等
常见日志错误及解决:
500 OOPS: vsftpd: refusing to run with writable anonymous root:设置匿名用户目录权限为755。530 Login incorrect:检查用户名密码、/etc/vsftpd/ftpusers文件或PAM配置。其他高级问题
sudo setenforce 0,或调整策略允许FTP访问。sudo netstat -tuln | grep 21检查端口占用,修改listen_port配置。参考来源:[1,2,3,4,5,6,7,8,9,10,11]