下面是 Debian 下配置 vsftpd 允许匿名访问 的完整步骤(常见、稳定做法)。
sudo apt update
sudo apt install vsftpd
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
编辑配置文件:
sudo nano /etc/vsftpd.conf
确保包含以下关键项(没有就加上):
# 启用匿名访问
anonymous_enable=YES
# 匿名用户根目录(默认是 /srv/ftp)
anon_root=/srv/ftp
# 允许匿名用户上传(可选)
anon_upload_enable=YES
# 允许匿名用户创建目录(可选)
anon_mkdir_write_enable=YES
# 匿名用户不需要密码
no_anon_password=YES
# 本地用户登录(建议保留)
local_enable=YES
# 写权限总开关
write_enable=YES
# 禁止匿名用户下载(可选)
# anon_world_readable_only=YES
✅ 如果只是只读匿名下载,可以 不开启
anon_upload_enable
Debian 默认匿名目录是:
/srv/ftp
sudo mkdir -p /srv/ftp/pub
sudo chown ftp:ftp /srv/ftp/pub
sudo chmod 755 /srv/ftp/pub
| 目录 | 推荐权限 |
|---|---|
/srv/ftp |
755(ftp 用户可读) |
/srv/ftp/pub |
777 或 ftp:ftp |
⚠️ 不要给 /srv/ftp 写权限,否则 vsftpd 会拒绝启动。
sudo systemctl restart vsftpd
查看状态:
sudo systemctl status vsftpd
ftp localhost
用户名:
anonymous
密码:
(直接回车)
ftp://服务器IP
检查:
grep -E "anonymous_enable|anon_root" /etc/vsftpd.conf
sudo chown ftp:ftp /srv/ftp/pub
sudo chmod 777 /srv/ftp/pub
sudo ufw allow 21/tcp
chrootfail2ban如果你需要:
可以直接告诉我你的使用场景,我给你定制配置。