温馨提示×

ubuntu vsftp怎么添加用户

小樊
33
2026-09-13 04:50:13
栏目: 智能运维

在 Ubuntu 上配置 vsftpd 并添加 FTP 用户,通常有以下几种方式。下面给你一份常用且安全的做法(使用系统用户 + 限制目录)。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

启动并设置开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

二、添加 FTP 用户(系统用户方式)

1. 创建用户

sudo adduser ftpuser

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

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

例如让用户只能访问 /home/ftpuser

sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/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=YES

⚠️ 如果只登录不报错但无法写文件,通常是少了 allow_writeable_chroot=YES

保存后重启:

sudo systemctl restart vsftpd

四、测试登录

ftp localhost

或客户端(FileZilla):

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

五、常见问题

1. 登录后 530 Permission denied

  • 用户被 shell 限制
  • 解决:
sudo usermod -s /bin/bash ftpuser

2. 想禁止 SSH 登录但能用 FTP

sudo usermod -s /usr/sbin/nologin ftpuser

3. 多用户隔离

每个用户一个系统账号,最稳定。


六、(进阶)虚拟用户(不用系统账号)

如果你想要:

  • 多个 FTP 账号
  • 不占用系统用户

可以用 PAM + 虚拟用户,但配置较复杂,需要我可以单独写一份。


如果你告诉我:

  • 是否要 只读 / 可写
  • 是否 公网访问
  • 是否用 虚拟用户

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

0