在 Ubuntu 上用 vsftpd 创建 FTP 用户,通常有以下几种常见做法。下面给你最实用、最安全的方案(系统用户 + 限制目录)。
sudo apt update
sudo apt install vsftpd
安装完成后:
sudo systemctl enable vsftpd
sudo systemctl start vsftpd
sudo adduser ftpuser
按提示设置密码(不要给 sudo 权限)。
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
⚠️ 注意:
vsftpd 的 chroot 目录不能可写(否则登录失败),所以一般结构为:
/home/ftpuser (属主 ftpuser)
└── ftp (可写目录)
编辑配置文件:
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:
服务器IPftpuser原因:chroot 目录可写
✅ 解决:根目录设为 ftp,不要直接可写 /home/ftpuser
检查:
write_enable=YES
以及目录权限
如果你需要 多个 FTP 用户但不创建系统用户,可以用:
如果你需要,我可以给你 虚拟用户完整配置教程。
如果你告诉我:
我可以直接给你一份定制配置。