温馨提示×

centos ftpserver怎样匿名访问

小樊
36
2026-10-03 02:18:20
栏目: 智能运维

在 CentOS 上配置 FTP 服务器(以 vsftpd 为例)允许匿名访问,可以按下面的步骤操作。


一、安装 vsftpd

yum install -y vsftpd

二、修改 vsftpd 配置文件

编辑配置文件:

vi /etc/vsftpd/vsftpd.conf

确保以下配置存在并正确(按需修改):

anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES      # 允许匿名上传(可选)
anon_mkdir_write_enable=YES # 允许匿名创建目录(可选)
anon_root=/var/ftp          # 匿名用户根目录(默认即可)

默认匿名用户目录一般是 /var/ftp


三、设置匿名目录权限

chmod 755 /var/ftp

如果允许上传:

mkdir /var/ftp/upload
chmod 777 /var/ftp/upload

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

临时关闭(测试用)

setenforce 0

永久关闭(不推荐生产)

编辑 /etc/selinux/config:

SELINUX=disabled

或允许 FTP(推荐)

setsebool -P ftpd_full_access on

五、配置防火墙

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

六、启动 vsftpd

systemctl start vsftpd
systemctl enable vsftpd

七、测试匿名访问

ftp localhost

用户名:

anonymous

密码:

(直接回车,或任意邮箱)

八、常见问题

1. 登录失败 530

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

2. 无法上传

  • 确认 anon_upload_enable=YES
  • 上传目录权限为 777

3. 被动模式问题

在配置文件中加:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

并放行端口:

firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload

如果你用的是 ProFTPD / Pure-FTPd,或者 CentOS 7/8/Stream 版本不同,可以告诉我,我可以给你对应配置。

0 踩