温馨提示×

如何排错debian vsftp

小樊
35
2026-09-20 05:49:06
栏目: 智能运维

在 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

默认:

  • 21(控制端口)
  • 被动模式端口范围(如 30000–31000)

如果没监听:

  • 检查 listen=YES
  • IPv6 系统注意 listen_ipv6

四、防火墙 / SELinux / 安全组

1. 防火墙(iptables / nftables / ufw)

ufw status

确保放行:

ufw allow 21/tcp

2. 云服务器安全组

  • 开放 21
  • 开放被动端口范围

3. Debian 一般不用 SELinux

但如有:

getenforce

五、被动模式(PASV)问题(最常见)

vsftpd.conf 示例:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP

重启:

systemctl restart vsftpd

客户端用被动模式连接。


六、用户与权限问题

1. 本地用户无法登录

检查:

local_enable=YES
write_enable=YES

2. 家目录权限

ls -ld /home/username

不能是 777,推荐:

chmod 755 /home/username

3. 被锁定在家目录

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 / FileZilla
  • FileZilla 看“消息日志”
  • 先试 主动模式,再试 被动模式

十、最小可用配置示例(Debian)

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
pasv_address=你的公网IP

如果你愿意,可以把 具体错误提示(客户端或日志)贴出来,我可以直接帮你定位是哪一类问题。

0