温馨提示×

debian vsftp怎样建用户

小樊
36
2026-09-08 00:01:14
栏目: 智能运维

在 Debian 上用 vsftpd 建 FTP 用户,通常有两种常见方式:


一、创建“系统用户”方式(最简单,推荐新手)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 创建 FTP 用户

sudo useradd -m ftpuser
sudo passwd ftpuser

3. 设置用户只能 FTP,不能登录系统(可选)

sudo usermod -s /usr/sbin/nologin ftpuser

4. 修改 vsftpd 配置

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保有以下内容:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

5. 重启 vsftpd

sudo systemctl restart vsftpd

✅ 现在可以用 ftpuser 登录 FTP,目录是 /home/ftpuser


二、创建“虚拟用户”方式(更安全,适合多用户)

适合:不希望创建系统用户,只用于 FTP 登录。

1. 安装依赖

sudo apt install vsftpd libpam-pwdfile

2. 创建虚拟用户密码文件

sudo touch /etc/vsftpd/virtual_users.txt
sudo nano /etc/vsftpd/virtual_users.txt

格式:

user1
password1
user2
password2

3. 生成 db 文件

sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

4. 配置 PAM

sudo nano /etc/pam.d/vsftpd

清空后写入:

auth required pam_pwdfile.so pwdfile=/etc/vsftpd/virtual_users.db
account required pam_permit.so

5. 创建虚拟用户映射的系统用户

sudo useradd -d /home/ftproot -s /usr/sbin/nologin ftpvirtual
sudo mkdir -p /home/ftproot
sudo chown ftpvirtual:ftpvirtual /home/ftproot

6. 修改 vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=ftpvirtual
virtual_use_local_privs=YES
chroot_local_user=YES
allow_writeable_chroot=YES

7. 重启服务

sudo systemctl restart vsftpd

三、常见问题

FTP 连不上?

  • 防火墙:
sudo ufw allow 21
  • 被动模式端口(可选):
pasv_min_port=30000
pasv_max_port=31000

登录后 530 错误?

  • 检查 PAM 配置
  • 检查用户是否存在 / 密码是否正确

如果你告诉我:

  • 是否允许系统登录
  • 是否允许多用户
  • 是否要限制目录

我可以给你一套精确配置

0