温馨提示×

如何给debian ftpserver加用户

小樊
45
2026-09-03 17:13:57
栏目: 智能运维

在 Debian 上搭建/管理 FTP 服务通常使用的是 vsftpd(Very Secure FTP Daemon)。下面按常见场景说明如何给 FTP 服务器“加用户”。


一、确认 FTP 服务已安装(vsftpd 为例)

sudo apt update
sudo apt install vsftpd

启动并设置开机自启:

sudo systemctl enable vsftpd
sudo systemctl start vsftpd

二、添加系统 FTP 用户(最常用)

FTP 用户本质上就是 Linux 系统用户。

1. 创建用户

sudo adduser ftpuser

按提示设置密码和用户信息。

2. 指定 FTP 根目录(可选)

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

3. 限制用户只能访问自己的目录(推荐)

编辑 vsftpd 配置:

sudo nano /etc/vsftpd.conf

确保有以下内容:

chroot_local_user=YES
allow_writeable_chroot=YES

重启服务:

sudo systemctl restart vsftpd

三、只允许 FTP 登录,不允许 SSH 登录(安全推荐)

sudo usermod -s /usr/sbin/nologin ftpuser

或:

sudo usermod -s /bin/false ftpuser

四、使用虚拟用户(多用户、更安全,进阶)

如果你不想创建真实系统用户,可以用 虚拟用户 + PAM

简要流程(概览)

  1. 创建虚拟用户列表
  2. db_load 生成数据库
  3. 配置 PAM
  4. 在 vsftpd 中启用虚拟用户

示例用户文件:

user1
password1
user2
password2

生成数据库:

sudo apt install db-util
sudo db_load -T -t hash -f users.txt /etc/vsftpd/virtual_users.db

PAM 配置(/etc/pam.d/vsftpd):

auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users

vsftpd 配置:

guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES

五、防火墙注意

如果启用了防火墙:

sudo ufw allow 21/tcp

被动模式还需放行被动端口范围(在 vsftpd.conf 中配置)。


六、测试连接

ftp localhost

或使用 FileZilla 连接:

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

如果你告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 是否需要 公网访问
  • 是否需要 只读 / 上传权限

我可以给你一份精准配置样例

0