[积累] vsftpd 匿名用户登录显示空白页问题

问题:

本来内网 ftp 用的好好的, 突然某天匿名用户就无法通过浏览器访问 ftp 了.

尝试解决:

检查 vsftpd 配置:

出现这个问题首先肯定要查看 vsftpd 配置. 我使用 CentOS 6.5, 这个配置文件位置如下:

/etc/vsftpd/vsftpd.conf

重点检查如下两个参数设置是否正确:

anonymous_enable=YES
anon_root=/ftp_public

第一个参数为是否允许匿名用户登录 ftp;
第二个参数为匿名用户登入后显示的目录, 也是其可以浏览的根目录.

检查的结果是, 木有问题…

检查 selinux 配置:

然后怀疑 selinux 配置是否被人改了. 敲入如下命令:

$ getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> on
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off

看起来也木有问题. 也尝试把某些参数打开, 但没有效果.

设置打开某项 selinux 配置命令:

### 如何配置 vsftpd 以允许匿名用户访问 为了使 vsftpd 支持匿名用户访问,需要按照以下方法调整其配置文件 `/etc/vsftpd/vsftpd.conf` 的相关内容。以下是详细的说明: #### 备份原始配置文件 在修改之前,建议备份原有的配置文件以防万一出现问题可以恢复: ```bash cp -av /etc/vsftpd/vsftpd.conf{,_bak} ``` #### 编辑配置文件 打开 `vsftpd.conf` 文件进行编辑: ```bash vim /etc/vsftpd/vsftpd.conf ``` 在该文件中,添加或修改以下参数来启用匿名访问功能[^3]: - **anonymous_enable=YES**: 启用匿名用户访问。 - **anon_upload_enable=YES**: 允许匿名用户上传文件。 - **anon_mkdir_write_enable=YES**: 允许匿名用户创建新目录。 - **write_enable=YES**: 开启写入权限(对于匿名和非匿名用户均有效)。 - **anon_umask=022**: 设置匿名用户上传文件的默认掩码为 `022`,这会使得文件具有更宽松的权限。 - **anon_root=/var/ftp/pub**: 指定匿名用户的根目录为 `/var/ftp/pub`。 完整的相关配置片段可能如下所示: ```conf anonymous_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_umask=022 anon_root=/var/ftp/pub reverse_lookup_enable=NO ``` #### 创建并设置共享目录 如果尚未存在指定的共享目录,则需手动创建它,并赋予适当权限给 FTP 用户: ```bash mkdir -p /var/ftp/pub chown ftp:ftp /var/ftp/pub chmod -R 755 /var/ftp/pub ``` #### 重启服务 完成以上所有更改之后,记得重新启动 vsftpd 服务以便应用新的配置: ```bash systemctl restart vsftpd ``` 最后一步是验证服务状态是否正常运行: ```bash systemctl status vsftpd ``` 通过这些步骤,您应该能够成功配置好支持匿名访问的 VSFTP 服务器环境[^4]。 ### 示例代码展示 下面是一个简单的脚本用于自动化部分流程: ```bash #!/bin/bash # Step 1: Backup the original configuration file. cp -av /etc/vsftpd/vsftpd.conf{,_backup} # Step 2: Modify configurations within 'vsftpd.conf'. sed -i '/^anonymous_enable/d' /etc/vsftpd/vsftpd.conf && echo "anonymous_enable=YES" >> /etc/vsftpd/vsftpd.conf sed -i '/^write_enable/d' /etc/vsftpd/vsftpd.conf && echo "write_enable=YES" >> /etc/vsftpd/vsftpd.conf sed -i '/^anon_upload_enable/d' /etc/vsftpd/vsftpd.conf && echo "anon_upload_enable=YES" >> /etc/vsftpd/vsftpd.conf sed -i '/^anon_mkdir_write_enable/d' /etc/vsftpd/vsftpd.conf && echo "anon_mkdir_write_enable=YES" >> /etc/vsftpd/vsftpd.conf sed -i '/^anon_umask/d' /etc/vsftpd/vsftpd.conf && echo "anon_umask=022" >> /etc/vsftpd/vsftpd.conf sed -i '/^anon_root/d' /etc/vsftpd/vsftpd.conf && echo "anon_root=/var/ftp/pub" >> /etc/vsftpd/vsftpd.conf # Step 3: Create and set permissions on shared directory. mkdir -p /var/ftp/pub chown ftp:ftp /var/ftp/pub chmod -R 755 /var/ftp/pub # Step 4: Restart service to apply changes. systemctl restart vsftpd ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值