在 Ubuntu 上安装 FTP Server,最常用的是 vsftpd(Very Secure FTP Daemon)。下面给你一个从安装到可用的完整教程,包括匿名访问和本地用户访问两种常见配置。
更新软件源并安装:
sudo apt update
sudo apt install vsftpd -y
安装完成后检查服务状态:
sudo systemctl status vsftpd
看到 active (running) 表示成功。
配置文件路径:
sudo nano /etc/vsftpd.conf
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传
write_enable=YES
# 本地用户只能访问自己的家目录(更安全)
chroot_local_user=YES
# 解决 chroot 目录写权限问题
allow_writeable_chroot=YES
# 启用日志
xferlog_enable=YES
# 监听 IPv4
listen=YES
listen_ipv6=NO
保存后重启服务:
sudo systemctl restart vsftpd
不要直接用 root 登录 FTP。
sudo useradd -m ftpuser
sudo passwd ftpuser
设置家目录权限:
sudo chown ftpuser:ftpuser /home/ftpuser
ftp localhost
输入用户名和密码。
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw reload
/etc/shells 中缺少该用户的 shell解决:
sudo chsh -s /bin/bash ftpuser
确认:
write_enable=YES
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
并创建匿名目录:
sudo mkdir -p /srv/ftp/pub
sudo chown ftp:ftp /srv/ftp/pub
⚠ 匿名 FTP 不推荐用于生产环境
| 场景 | 建议 |
|---|---|
| 内网 | ✅ vsftpd |
| 外网 | ❌ 不推荐 |
| 安全传输 | ✅ SFTP(OpenSSH) |
如果你愿意,我可以:
你打算 内网使用还是公网?