在 Ubuntu 上设置 FTP 服务器并允许匿名访问,常见做法是使用 vsftpd(Very Secure FTP Daemon)。下面给你一套实用、安全的配置步骤,适用于 Ubuntu 20.04 / 22.04。
sudo apt update
sudo apt install vsftpd -y
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
编辑配置文件:
sudo nano /etc/vsftpd.conf
# 允许匿名用户登录
anonymous_enable=YES
# 允许匿名用户上传(可选)
anon_upload_enable=YES
# 允许匿名用户创建目录(可选)
anon_mkdir_write_enable=YES
# 匿名用户根目录
anon_root=/srv/ftp
# 禁止本地用户登录(如果你想只允许匿名)
local_enable=NO
# 允许写操作(如需要上传)
write_enable=YES
# 防止匿名用户访问系统根目录
chroot_local_user=YES
⚠️ 如果只是只读匿名下载,可以不开
anon_upload_enable
sudo mkdir -p /srv/ftp/pub
sudo chown nobody:nogroup /srv/ftp
sudo chmod 755 /srv/ftp
如果允许上传:
sudo mkdir /srv/ftp/upload
sudo chown ftp:nogroup /srv/ftp/upload
sudo chmod 777 /srv/ftp/upload
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
ftp localhost
登录时:
anonymous 或 ftpftp://服务器IP
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw reload
✅ 匿名 FTP 不建议放在公网
✅ 建议只允许下载,禁止上传
✅ 目录权限必须是 nobody 或 ftp
✅ Ubuntu 某些版本需要关闭 SELinux(Ubuntu 默认没有)
local_enable=NO
anonymous_enable=YES
⚠️ 匿名访问 不支持 SFTP(基于 SSH)
匿名 FTP 只能用 FTP 协议
如果你能告诉我:
我可以帮你整理一份最合适的最小安全配置 ✅