温馨提示×

Debian vsftp如何设匿名

小樊
45
2026-07-30 16:06:25
栏目: 智能运维

Debian 下使用 vsftpd 设置匿名 FTP 访问,可以按下面步骤操作。以下示例适用于 vsftpd 3.x,常见于 Debian 10/11/12。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

二、配置匿名访问(核心步骤)

编辑配置文件:

sudo nano /etc/vsftpd.conf

1️⃣ 启用匿名访问

确保有以下配置(没有就加上):

anonymous_enable=YES

2️⃣ 匿名用户根目录(重要)

匿名用户默认使用系统用户 ftp 的家目录:

grep ftp /etc/passwd

通常是:

ftp:x:100:101:ftp daemon,,,:/srv/ftp:/usr/sbin/nologin

你可以修改匿名根目录:

anon_root=/srv/ftp

(目录必须存在)

3️⃣ 是否允许上传(可选)

✅ 只读匿名访问(推荐)

write_enable=NO
anon_upload_enable=NO

✅ 允许匿名上传(不安全,慎用)

write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

⚠️ 注意:

  • 目录权限必须允许 ftp 用户写入
  • 不建议在公网开启

三、目录权限设置(非常关键)

只读匿名访问示例

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

允许匿名上传示例(不推荐)

sudo mkdir /srv/ftp/upload
sudo chown ftp:nogroup /srv/ftp/upload
sudo chmod 733 /srv/ftp/upload

四、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

五、测试匿名访问

本地测试

ftp localhost

用户名:

anonymous

密码:

(直接回车或任意邮箱)

浏览器测试

ftp://服务器IP

六、常见问题排查

1️⃣ 匿名登录失败

检查:

sudo systemctl status vsftpd
sudo journalctl -u vsftpd

2️⃣ 目录权限问题

  • 匿名用户 不能拥有父目录写权限
  • /srv/ftp 应属于 root

3️⃣ 防火墙

sudo ufw allow 21/tcp

七、安全建议(强烈推荐)

  • ✅ 只允许只读
  • ✅ 配合 chroot
  • ✅ 禁止本地用户登录
local_enable=NO

如果你需要:

  • 只允许匿名、禁止本地用户
  • 匿名 + 限速
  • 匿名 + SSL/TLS
  • 匿名 + 公网安全方案

可以直接告诉我你的使用场景,我可以给你一份完整可用配置

0