温馨提示×

ubuntu vsftp怎样建用户

小樊
46
2026-09-19 07:53:43
栏目: 智能运维

在 Ubuntu 上用 vsftpd 创建 FTP 用户,通常有以下几种常见做法。下面给你最实用、最安全的方案(系统用户 + 限制目录)。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

安装完成后:

sudo systemctl enable vsftpd
sudo systemctl start vsftpd

二、创建 FTP 用户(系统用户方式)

1. 创建用户

sudo adduser ftpuser

按提示设置密码(不要给 sudo 权限)。


2. 设置 FTP 根目录

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

⚠️ 注意:
vsftpd 的 chroot 目录不能可写(否则登录失败),所以一般结构为:

/home/ftpuser   (属主 ftpuser)
 └── ftp        (可写目录)

三、配置 vsftpd(关键)

编辑配置文件:

sudo nano /etc/vsftpd.conf

推荐配置(最常用)

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES

chroot_local_user=YES
allow_writeable_chroot=NO

user_sub_token=$USER
local_root=/home/$USER/ftp

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
  • 协议:FTP
  • 用户:ftpuser
  • 密码:你设置的

六、常见问题

❌ 500 OOPS: vsftpd: refusing to run with writable root

原因:chroot 目录可写
✅ 解决:根目录设为 ftp,不要直接可写 /home/ftpuser


❌ 无法上传

检查:

write_enable=YES

以及目录权限


七、可选:虚拟用户(更安全)

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

  • PAM + 虚拟用户
  • 数据库文件方式

如果你需要,我可以给你 虚拟用户完整配置教程。


如果你告诉我:

  • 是否要 只能访问固定目录
  • 是否要 只读 / 可写
  • 是否用于 网站目录

我可以直接给你一份定制配置。

0 踩