温馨提示×

ubuntu ftpserver怎样加用户

小樊
46
2026-09-14 16:15:32
栏目: 智能运维

在 Ubuntu 上搭建 FTP 服务器(常用 vsftpd)并添加用户,一般有几种常见方式。下面给你最常用、最安全的做法。


一、安装 vsftpd(如果还没装)

sudo apt update
sudo apt install vsftpd

二、添加系统用户作为 FTP 用户(推荐)

1️⃣ 创建用户

sudo adduser ftpuser

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

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

比如只允许访问 /home/ftpuser

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

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

sudo usermod -s /usr/sbin/nologin ftpuser

三、配置 vsftpd 允许本地用户登录

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保有以下内容:

local_enable=YES
write_enable=YES

重启服务:

sudo systemctl restart vsftpd

四、使用虚拟用户(更高级、更安全,可选)

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

1️⃣ 创建用户密码文件

sudo nano /etc/vsftpd/virtual_users.txt

内容:

user1
password1
user2
password2

2️⃣ 生成数据库

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

3️⃣ 配置 PAM

sudo nano /etc/pam.d/vsftpd

内容:

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

4️⃣ vsftpd 配置

guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/ftp/$USER

五、防火墙 & 测试

sudo ufw allow 21

测试:

ftp localhost

六、常见问题

  • 530 Login incorrect → 检查 PAM / 用户密码
  • 500 OOPS → 检查目录权限
  • 被动模式连不上 → 配置 pasv_min_port / pasv_max_port

如果你告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 是否需要 只能访问自己目录
  • 是否要 匿名 / 虚拟用户

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

0