在 Debian 上使用 vsftpd(Very Secure FTP Daemon) 时,常见问题和排错思路可以按下面步骤来。
dpkg -l | grep vsftpd
未安装则:
sudo apt update
sudo apt install vsftpd
systemctl status vsftpd
或
service vsftpd status
启动/重启:
sudo systemctl restart vsftpd
journalctl -u vsftpd
或
tail -f /var/log/syslog
在 /etc/vsftpd.conf 中:
xferlog_enable=YES
log_ftp_protocol=YES
日志位置:
/var/log/vsftpd.log
可能原因:
检查:
ss -tlnp | grep 21
防火墙:
sudo ufw status
允许 FTP:
sudo ufw allow 21/tcp
常见原因:
检查:
grep ftp /etc/passwd
确认 shell:
cat /etc/shells
若用户 shell 不在其中,可改为:
chsh -s /bin/bash 用户名
现象:能登录,但列目录卡住
解决(Debian 常用):
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙开放:
ufw allow 30000:31000/tcp
检查:
配置中需有:
write_enable=YES
目录权限示例:
chown ftpuser:ftpuser /home/ftpuser
chmod 755 /home/ftpuser
chroot_local_user=YES
allow_writeable_chroot=YES
否则可能报:
500 OOPS: vsftpd: refusing to run with writable root inside chroot
/etc/vsftpd.conf:
listen=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
如果你愿意,可以把 具体报错信息 或 /etc/vsftpd.conf 贴出来,我可以帮你逐行分析。