你这个问题信息有点少,我先给你最常见的几种 Debian 上 vsftpd 报错原因和解决办法,你对照看看是哪一种。
现象
systemctl start vsftpd
Job for vsftpd.service failed
常见原因
配置文件语法错误
vsftpd /etc/vsftpd.conf
如果直接前台运行能看出错误行
端口被占用(21端口)
ss -tlnp | grep :21
IPv6 问题 Debian 新版默认启用 IPv6,但系统没开
listen=YES
listen_ipv6=NO
现象
常见原因
禁止本地用户登录
local_enable=YES
PAM 限制(非常常见) Debian 默认:
pam_service_name=vsftpd
但有些版本要改成:
pam_service_name=ftp
用户被锁定
passwd -S 用户名
如果是 L 说明被锁
现象
解决
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
并且防火墙放行:
ufw allow 30000:31000/tcp
现象
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决(二选一)
allow_writeable_chroot=YES
或把用户主目录改为不可写:
chmod a-w /home/用户名
Debian 默认 没有 SELinux,不用管。
journalctl -xe
systemctl status vsftpd
tail /var/log/vsftpd.log
如果你愿意,把具体报错原文贴出来(屏幕上的那几行),我可以直接告诉你是哪一种、怎么改。