在 Debian 上排查 vsftpd(Very Secure FTP Daemon) 问题,可以按下面这个“由外到内、由浅入深”的流程来排错。
systemctl status vsftpd
常见情况:
active (running) → 服务正常failed → 配置文件有错inactive → 没启动尝试重启并看错误:
systemctl restart vsftpd
journalctl -xeu vsftpd
Debian 配置文件通常在:
/etc/vsftpd.conf
检查语法:
vsftpd /etc/vsftpd.conf
(如果直接报错,会显示哪一行有问题)
常见错误:
YES/NO查看是否监听:
ss -tlnp | grep ftp
默认:
如果没监听:
listen=YESlisten_ipv6ufw status
确保放行:
ufw allow 21/tcp
但如有:
getenforce
vsftpd.conf 示例:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
重启:
systemctl restart vsftpd
客户端用被动模式连接。
检查:
local_enable=YES
write_enable=YES
ls -ld /home/username
不能是 777,推荐:
chmod 755 /home/username
chroot_local_user=YES
allow_writeable_chroot=YES
anonymous_enable=YES
anon_root=/srv/ftp
目录权限:
chown root:root /srv/ftp
chmod 755 /srv/ftp
Debian 默认日志:
tail -f /var/log/vsftpd.log
或:
journalctl -u vsftpd -f
常见错误:
refused(端口/防火墙)login failed(用户/密码)500 OOPS(配置/权限)ftp / lftp / FileZillalisten=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
如果你愿意,可以把 具体错误提示(客户端或日志)贴出来,我可以直接帮你定位是哪一类问题。