在 Linux 上配置 FTP 匿名访问(以最常见的 vsftpd 为例),步骤如下:
sudo apt update
sudo apt install vsftpd
sudo yum install vsftpd
# 或
sudo dnf install vsftpd
编辑配置文件:
sudo vim /etc/vsftpd.conf
确保以下配置存在并正确:
# 允许匿名登录
anonymous_enable=YES
# 匿名用户根目录(可选)
anon_root=/srv/ftp
# 允许匿名上传(如不需要可设为 NO)
write_enable=YES
anon_upload_enable=YES
# 允许匿名创建目录(可选)
anon_mkdir_write_enable=YES
# 匿名用户无密码
no_anon_password=YES
# 本地用户登录(可选)
local_enable=YES
⚠️ 如果只允许匿名,不建议同时开放本地用户写权限
sudo mkdir -p /srv/ftp
sudo chown root:root /srv/ftp
sudo chmod 755 /srv/ftp
如果需要匿名上传:
sudo mkdir -p /srv/ftp/upload
sudo chown ftp:ftp /srv/ftp/upload
sudo chmod 777 /srv/ftp/upload
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
如果开启 SELinux:
sudo setsebool -P ftpd_anon_write on
sudo setsebool -P allow_ftpd_anon_write on
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
ftp localhost
或
ftp ftp://localhost
用户名:
anonymous
密码:
(直接回车)
如果你用的是 ProFTPD / Pure-FTPd,或者需要 Docker 版本 / 只下载不允许上传,可以告诉我,我给你对应配置。