温馨提示×

centos ftpserver怎样实现匿名

小樊
47
2026-09-06 04:30:35
栏目: 智能运维

在 CentOS 上搭建 FTP 服务器并开启匿名访问,通常使用 vsftpd(Very Secure FTP Daemon)。下面以 CentOS 7/8 为例说明。


一、安装 vsftpd

yum install -y vsftpd
# 或 CentOS 8
dnf install -y vsftpd

二、修改 vsftpd 配置文件

编辑配置文件:

vim /etc/vsftpd/vsftpd.conf

关键匿名配置项(确保如下内容)

anonymous_enable=YES
local_enable=YES
write_enable=YES

# 匿名用户根目录
anon_root=/var/ftp

# 允许匿名上传(可选)
anon_upload_enable=YES

# 允许匿名创建目录(可选)
anon_mkdir_write_enable=YES

# 匿名用户权限掩码
anon_umask=022

三、准备匿名目录

vsftpd 默认匿名目录是 /var/ftp

mkdir -p /var/ftp/pub
chown ftp:ftp /var/ftp/pub
chmod 755 /var/ftp
chmod 777 /var/ftp/pub   # 如果允许上传

四、关闭 SELinux 限制(或配置策略)

临时关闭(不推荐生产)

setenforce 0

永久关闭

vim /etc/selinux/config
SELINUX=disabled

或允许 FTP:

setsebool -P ftpd_full_access on

五、防火墙放行 FTP

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

六、启动 vsftpd

systemctl enable vsftpd
systemctl start vsftpd

七、测试匿名登录

ftp localhost

登录时:

  • 用户名:anonymous
  • 密码:直接回车(或任意邮箱)

八、常见问题

1. 登录提示 530

  • 检查 anonymous_enable=YES
  • 检查 SELinux / 防火墙

2. 无法上传

  • anon_upload_enable=YES
  • 目录权限 & 属主

3. 被动模式失败

添加:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

并放行端口。


如果你用的是 CentOS Stream / 特定版本 / 想用 SFTP 而非 FTP,可以告诉我,我可以给你对应方案。

0 踩