CentOS 为 vsftpd 启动 vsftpd:500 OOPS: cannot read config file: /etc/vsftpd/vsftpd.conf

安装vsftp,yum install vsftp*
启动时报如下错误:
为 vsftpd 启动 vsftpd:500 OOPS: cannot read config file: /etc/vsftpd/vsftpd.conf




查看配置
grep -v ^# /etc/vsftpd/vsftpd.conf | grep -v ^$
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES


查看配置文件的权限,都正常
网上搜索,搜索出一大堆乱七八槽的东西,没有任何帮助


突然同事提醒了一句,看看selinux关闭了没有
没关,改为disabled, setenforce 0不重启使之生效
再重新启动vsftpd,OK,正常了

查看SELinux状态:

1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态

SELinux status: enabled

2、getenforce ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0 ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

参考:http://lynnteng0.blog.51cto.com/2145094/1124889

http://bguncle.blog.51cto.com/3184079/957315


<think>好的,我现在需要帮助用户解决在CentOS 7上关闭FTP匿名访问的问题。用户之前已经询问过关于挂载ISO的问题,现在转向了FTP配置,看起来他们可能是在配置服务器,比如搭建本地仓库或者设置服务。 首先,我要确认用户的需求:关闭vsftpd的匿名访问。这通常是出于安全考虑,因为匿名访问允许任何人无需密码访问FTP,可能存在风险。用户可能正在设置一个需要认证的FTP服务器,只允许特定用户访问。 接下来,我需要回忆vsftpd的配置文件结构。主配置文件是/etc/vsftpd/vsftpd.conf,里面的参数控制着服务器的行为。关键参数是anonymous_enable,默认情况下可能设置为YES,允许匿名访问。用户需要将其改为NO,并确保其他相关设置正确。 然后,我需要考虑可能的副作用或额外配置。比如,关闭匿名访问后,本地用户或虚拟用户可能需要启用,所以应该检查local_enable是否设置为YES。同时,用户可能需要设置防火墙规则,或者处理SELinux的问题,这些都可能影响FTP服务的正常运行。 另外,用户可能需要重启服务使配置生效,但有时候重启服务可能会影响现有连接,所以建议使用systemctl restart vsftpd。此外,检查服务状态和日志可以帮助用户确认是否配置成功。 可能还需要提醒用户关于防火墙和SELinux的配置,特别是如果用户遇到连接问题,这两个方面常常是问题所在。比如,FTP的被动模式端口需要开放,或者SELinux需要调整策略。 还要注意用户的使用环境,他们之前挂载ISO时遇到了路径问题,可能是在搭建本地仓库,现在配置FTP可能用于分发软件包。这种情况下,确保FTP服务正确配置非常重要,否则可能导致其他服务无法访问所需的包。 最后,我需要以清晰的步骤呈现解决方案,包括修改配置文件、检查相关设置、重启服务、验证配置和可能的故障排除。确保用户能够一步步跟随,并且理解每个步骤的作用,这样他们在遇到问题时可以自行排查。</think>在CentOS 7中关闭vsftpd的匿名访问,可以通过修改配置文件实现。以下是详细操作步骤: --- ### **1. 编辑配置文件** ```bash vi /etc/vsftpd/vsftpd.conf ``` --- ### **2. 关键参数修改** 找到以下配置项并修改: ```ini # 关闭匿名访问(默认值为YES) anonymous_enable=NO # 允许本地用户登录(必须开启否则无法登录) local_enable=YES # 可选:禁止匿名用户上传文件(若存在则修改) anon_upload_enable=NO # 可选:禁止匿名用户创建目录(若存在则修改) anon_mkdir_write_enable=NO ``` --- ### **3. 验证相关配置** 确认以下参数状态: ```ini # 限制用户只能访问其家目录(建议启用) chroot_local_user=YES # 允许写入操作(根据需求设置) write_enable=YES ``` --- ### **4. 重启服务生效** ```bash systemctl restart vsftpd systemctl status vsftpd # 确认服务状态 ``` --- ### **5. 验证配置** 尝试匿名登录测试: ```bash ftp localhost ``` 输入用户名 `anonymous` 应显示: ```bash 530 Permission denied. Login failed. ``` --- ### **补充说明** 1. **防火墙配置**(若启用): ```bash firewall-cmd --permanent --add-service=ftp firewall-cmd --reload ``` 2. **SELinux调整**(若启用): ```bash setsebool -P ftp_home_dir on ``` 3. **日志查看**: ```bash tail -f /var/log/vsftpd.log ``` --- ### **配置文件注释说明** - `anonymous_enable=NO` 是核心控制参数 - 修改后建议备份原始配置:`cp /etc/vsftpd/vsftpd.conf{,.bak}` - 完整配置参考:`man vsftpd.conf` 请根据实际需求调整其他参数,修改后建议先通过 `ftp localhost` 进行本地测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值