在 Linux 上搭建 FTP 服务器并开启匿名访问,常用的是 vsftpd(Very Secure FTP Daemon)。下面以 vsftpd 为例说明。
yum install -y vsftpd
apt update
apt install -y vsftpd
编辑配置文件:
vim /etc/vsftpd/vsftpd.conf
(Ubuntu 路径也是 /etc/vsftpd.conf)
# 允许匿名登录
anonymous_enable=YES
# 匿名用户根目录(默认即可)
anon_root=/var/ftp
# 是否允许匿名上传(按需)
anon_upload_enable=YES
# 是否允许匿名创建目录(按需)
anon_mkdir_write_enable=YES
# 建议关闭本地用户登录(可选)
local_enable=NO
# 写权限总开关
write_enable=YES
⚠️ 如果只让下载,不开启
anon_upload_enable
默认匿名目录一般是 /var/ftp
chown root:root /var/ftp
chmod 755 /var/ftp
如果要匿名上传,建子目录:
mkdir /var/ftp/pub
chown ftp:ftp /var/ftp/pub
chmod 777 /var/ftp/pub
systemctl enable vsftpd
systemctl start vsftpd
查看状态:
systemctl status vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
setsebool -P ftpd_anon_write on
setsebool -P allow_ftpd_anon_write on
ftp localhost
或
ftp ftp://localhost
用户名:
anonymous
密码:直接回车(或任意邮箱)
✅ 匿名用户不能写 /var/ftp 根目录
✅ 只能写有写权限的子目录
✅ passive 模式需放行端口范围(云服务器特别注意)
如果你用的是 ProFTPD / Pure-FTPd,或者想限制匿名只读 / 限速 / 限制 IP,也可以告诉我。