温馨提示×

debian vsftp怎样添加用户

小樊
40
2026-09-29 02:59:25
栏目: 智能运维

在 Debian 上使用 vsftpd 添加 FTP 用户,通常有以下几种常见方式。下面按最常用、最安全的方式一步步说明。


一、前提:已安装 vsftpd

如果还没装:

sudo apt update
sudo apt install vsftpd

二、方式一:使用系统用户(推荐)

vsftpd 默认使用 Linux 系统用户登录。

1️⃣ 创建用户

sudo adduser ftpuser

按提示设置密码(FTP 登录密码)。

2️⃣ 指定 FTP 根目录(可选)

sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp

3️⃣ 禁止用户登录系统(仅 FTP)

sudo usermod -s /usr/sbin/nologin ftpuser

如果 nologin 不存在:

which nologin

确保路径正确。


三、配置 vsftpd(关键)

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保以下配置:

local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

如果是被动模式(推荐):

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

保存后重启:

sudo systemctl restart vsftpd

四、防火墙(如果有)

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

五、测试登录

ftp localhost

或客户端(FileZilla):

  • 主机:服务器 IP
  • 用户:ftpuser
  • 密码:你设置的

六、方式二:虚拟用户(高级,更安全)

如果你要 多个 FTP 用户但不创建系统用户,可以使用:

  • PAM + 虚拟用户
  • db_load 生成用户数据库

需要的话我可以单独写一份 vsftpd 虚拟用户配置教程。


七、常见问题

✅ 530 Login incorrect
→ 检查用户是否被锁定 / shell 是否正确

✅ 500 OOPS: vsftpd: refusing to run with writable root inside chroot
→ 加 allow_writeable_chroot=YES


如果你告诉我:

  • 是否只允许上传某些目录
  • 是否要限制带宽
  • 是否用虚拟用户

我可以给你定制配置。

0 踩