温馨提示×

ubuntu ftpserver怎么添加用户

小樊
35
2026-07-07 08:34:05
栏目: 智能运维

在 Ubuntu 上搭建 FTP 服务器(常用 vsftpd)后,添加 FTP 用户通常有几种方式,下面按最常见、最安全的方式一步步说明。


一、安装 vsftpd(如未安装)

sudo apt update
sudo apt install vsftpd

启动并设置开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

二、添加 FTP 用户(推荐方式)

✅ 方式 1:为系统用户(最常用)

1️⃣ 创建用户

sudo adduser ftpuser

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

如果你只想用于 FTP,不允许 SSH 登录,执行:

sudo usermod -s /usr/sbin/nologin ftpuser

2️⃣ 设置 FTP 根目录

假设 FTP 目录为 /home/ftpuser/ftp

sudo mkdir -p /home/ftpuser/ftp
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp

创建可写目录:

sudo mkdir /home/ftpuser/ftp/upload
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload

3️⃣ 配置 vsftpd

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保包含以下配置(没有就加上):

listen=YES
listen_ipv6=NO

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

保存后重启:

sudo systemctl restart vsftpd

4️⃣ 测试登录

ftp localhost

或用 FileZilla / WinSCP 连接。


三、只允许 FTP 用户登录(可选)

如果你只想让某些用户使用 FTP:

sudo nano /etc/vsftpd.userlist

添加用户名:

ftpuser

vsftpd.conf 中启用:

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

四、常见问题排查

❌ 530 Login incorrect

  • 密码错误
  • 用户被 nologin 限制(确认 /etc/shells 包含 /usr/sbin/nologin
grep nologin /etc/shells

没有就加:

echo "/usr/sbin/nologin" | sudo tee -a /etc/shells

❌ 无法上传文件

  • 确认 write_enable=YES
  • 上传目录权限正确

五、虚拟用户(进阶,可选)

如果你想要不创建系统用户的 FTP 用户(更安全),可以使用:

  • vsftpd + PAM + 虚拟用户

需要的话我可以单独给你一份完整配置。


总结(最简单流程)

sudo adduser ftpuser
sudo usermod -s /usr/sbin/nologin ftpuser
sudo systemctl restart vsftpd

✅ 即可使用 FTP 登录


如果你告诉我:

  • Ubuntu 版本
  • 是否允许 SSH
  • 是否多用户
  • 是否公网服务器

我可以给你更精确、更安全的配置方案。

0