温馨提示×

linux ftpserver如何配置匿名

小樊
53
2026-09-20 13:16:16
栏目: 智能运维

在 Linux 上配置 FTP 匿名访问(以最常见的 vsftpd 为例),步骤如下:


一、安装 vsftpd

Debian / Ubuntu

sudo apt update
sudo apt install vsftpd

CentOS / Rocky / Alma

sudo yum install vsftpd
# 或
sudo dnf install vsftpd

二、修改 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

四、防火墙设置

如果是 firewalld

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

如果是 iptables

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

五、SELinux(CentOS / RHEL)

如果开启 SELinux:

sudo setsebool -P ftpd_anon_write on
sudo setsebool -P allow_ftpd_anon_write on

六、启动 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

七、测试匿名登录

ftp localhost

或

ftp ftp://localhost

用户名:

anonymous

密码:

(直接回车)

八、安全建议(重要)

  • ❌ 不要在公网随便开匿名 FTP
  • ✅ 限制 IP(hosts.allow / 防火墙)
  • ✅ 配合 chroot
  • ✅ 使用 SFTP(更安全)

如果你用的是 ProFTPD / Pure-FTPd,或者需要 Docker 版本 / 只下载不允许上传,可以告诉我,我给你对应配置。

0 踩