温馨提示×

ubuntu vsftp为何报错

小樊
50
2026-09-10 04:01:08
栏目: 智能运维

在 Ubuntu 上用 vsftpd 时“报错”原因很多,下面按最常见场景 + 对应报错现象 + 解决办法给你梳理一下,你对照看看是哪一种。


一、服务起不来(最常见)

1. Job for vsftpd.service failed

可能原因:

  • 配置写错
  • 端口被占用
  • 同时启用了 IPv4 / IPv6 冲突

排查

sudo systemctl status vsftpd
sudo journalctl -xe

常见解决 编辑 /etc/vsftpd.conf:

listen=YES
# listen_ipv6=YES   # 如果有这个,注释掉

然后:

sudo systemctl restart vsftpd

二、登录失败

2. 530 Login incorrect

原因:

  • 禁止本地用户登录
  • PAM 限制
  • 用户被锁

检查

local_enable=YES

如果是虚拟用户,需要:

guest_enable=YES
guest_username=ftp

3. 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

这是非常经典的错误。

原因:

  • 用户主目录可写 + 启用了 chroot

解决(二选一)

✅ 推荐:

allow_writeable_chroot=YES

或限制目录权限:

sudo chmod a-w /home/ftpuser

三、被动模式连不上

4. 能登录但列不出目录 / 卡住

原因:

  • 防火墙
  • 被动端口未开

配置

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙

sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp

云服务器还要开安全组。


四、SELinux / AppArmor(Ubuntu 一般是 AppArmor)

5. 权限正常但无法读写

sudo aa-status | grep vsftpd

临时测试:

sudo systemctl stop apparmor

五、你直接贴报错最准

如果你能告诉我:

  1. 完整报错内容
  2. vsftpd.conf 关键配置
  3. 是 本地用户 / 匿名 / 虚拟用户
  4. 是否在 云服务器

我可以直接帮你定位到具体那一行配置错了。

0 踩