温馨提示×

debian ftpserver怎样加用户

小樊
45
2026-09-15 23:28:37
栏目: 智能运维

在 Debian 上搭建 FTP 服务并添加用户,常见做法有两种:系统用户 + vsftpd虚拟用户(更推荐用于 FTP 专用账号)。下面按最常用的 vsftpd + 系统用户vsftpd + 虚拟用户 两种方式说明。


一、使用系统用户(最简单)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 添加 FTP 用户

sudo adduser ftpuser

按提示设置密码和家目录(如 /home/ftpuser)。

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

sudo usermod -s /usr/sbin/nologin ftpuser

4. 配置 vsftpd

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保有以下内容:

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

5. 重启服务

sudo systemctl restart vsftpd

此时用 ftpuser 和密码即可登录 FTP。


二、使用虚拟用户(更安全,推荐生产环境)

1. 安装必要组件

sudo apt install vsftpd libpam-pwdfile

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

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

内容格式:

ftpuser1
password1
ftpuser2
password2

3. 生成数据库文件

sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
sudo chmod 600 /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 ftpvuser
sudo mkdir -p /home/ftproot
sudo chown ftpvuser:ftpvuser /home/ftproot

6. 修改 vsftpd 配置

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

7. 重启 vsftpd

sudo systemctl restart vsftpd

三、防火墙注意

如果启用了防火墙:

sudo ufw allow 21/tcp

四、常见问题

  • 530 Login incorrect:PAM 配置或密码数据库错误
  • 500 OOPS: vsftpd: refusing to run with writable root:加 allow_writeable_chroot=YES
  • 无法上传:检查 write_enable=YES 和目录权限

如果你告诉我:

  • 使用的是 vsftpd / proftpd / pure-ftpd
  • 是否需要 Web 管理
  • 是否要 只允许上传不能下载

我可以给你更精确的配置。

0