温馨提示×

Debian vsftp如何匿名

小樊
63
2026-08-15 05:46:07
栏目: 智能运维

下面是 Debian 下配置 vsftpd 允许匿名访问 的完整步骤(常见、稳定做法)。


一、安装 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

1️⃣ 创建上传目录(如果需要)

sudo mkdir -p /srv/ftp/pub
sudo chown ftp:ftp /srv/ftp/pub
sudo chmod 755 /srv/ftp/pub

2️⃣ 权限说明

目录 推荐权限
/srv/ftp 755(ftp 用户可读)
/srv/ftp/pub 777 或 ftp:ftp

⚠️ 不要给 /srv/ftp 写权限,否则 vsftpd 会拒绝启动。


五、重启 vsftpd

sudo systemctl restart vsftpd

查看状态:

sudo systemctl status vsftpd

六、测试匿名访问

本地测试

ftp localhost

用户名:

anonymous

密码:

(直接回车)

浏览器测试

ftp://服务器IP

七、常见问题排查

❌ 匿名登录失败

检查:

grep -E "anonymous_enable|anon_root" /etc/vsftpd.conf

❌ 上传失败(553)

sudo chown ftp:ftp /srv/ftp/pub
sudo chmod 777 /srv/ftp/pub

❌ 防火墙未放行

sudo ufw allow 21/tcp

八、安全建议(生产环境)

  • ✅ 匿名 只读
  • ✅ 限制目录:chroot
  • ✅ 使用 fail2ban
  • ✅ 尽量用 SFTP,而不是 FTP

如果你需要:

  • 只允许匿名下载
  • 匿名 + 本地用户共存
  • 被动模式(云服务器必配)

可以直接告诉我你的使用场景,我给你定制配置。

0 踩