在 Ubuntu 上设置 FTP 账户,最常用、稳定的方案是 vsftpd(Very Secure FTP Daemon)。下面我按从安装到创建专用 FTP 用户的完整流程给你说明,并附上常见配置说明,适合新手照着做。
sudo apt update
sudo apt install vsftpd
安装完成后,vsftpd 会自动启动。
查看状态:
sudo systemctl status vsftpd
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf
推荐的基础配置如下(可直接复制覆盖):
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传
write_enable=YES
# 本地用户只能访问自己的家目录(安全)
chroot_local_user=YES
# 允许 chroot 目录可写(Ubuntu 20.04+ 必须)
allow_writeable_chroot=YES
# 使用被动模式(推荐)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
# 日志
xferlog_enable=YES
保存并退出(Ctrl + O → Enter → Ctrl + X)
⚠️ 不建议直接用 root 或你自己的系统账户做 FTP
sudo adduser ftpuser
按提示设置密码(其他信息可直接回车)。
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
目录结构:
/home/ftpuser/ftp
├── upload # 可上传
sudo systemctl restart vsftpd
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
连接信息:
主机:服务器 IP
协议:FTP
加密:只使用明文 FTP(或选择“如果可用”)
用户:ftpuser
密码:你设置的密码
端口:21
write_enable=YESallow_writeable_chroot=YESsudo nano /etc/vsftpd.userlist
加入:
ftpuser
修改配置:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
如果你需要:
告诉我你的使用场景,我可以给你更精确的配置方案。