在 Ubuntu 上搭建 FTP 服务器(常用 vsftpd)后,添加 FTP 用户通常有几种方式,下面按最常见、最安全的方式一步步说明。
sudo apt update
sudo apt install vsftpd
启动并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo adduser ftpuser
按提示设置密码和用户信息。
如果你只想用于 FTP,不允许 SSH 登录,执行:
sudo usermod -s /usr/sbin/nologin ftpuser
假设 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
编辑配置文件:
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
ftp localhost
或用 FileZilla / WinSCP 连接。
如果你只想让某些用户使用 FTP:
sudo nano /etc/vsftpd.userlist
添加用户名:
ftpuser
vsftpd.conf 中启用:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
/etc/shells 包含 /usr/sbin/nologin)grep nologin /etc/shells
没有就加:
echo "/usr/sbin/nologin" | sudo tee -a /etc/shells
write_enable=YES如果你想要不创建系统用户的 FTP 用户(更安全),可以使用:
需要的话我可以单独给你一份完整配置。
sudo adduser ftpuser
sudo usermod -s /usr/sbin/nologin ftpuser
sudo systemctl restart vsftpd
✅ 即可使用 FTP 登录
如果你告诉我:
我可以给你更精确、更安全的配置方案。