ftp 连接失败。500 OOPS: cannot change directory:

原因

CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。

方法1

关闭selinux,修改/etc/selinux/config文件或/etc/syscofnig/selinux设置SELINUX= disabled ,然后重启服务器

方法2

      由于方法1需要重启服务器,而当时我们是在生产集群中出现的问题,服务器上还有其他服务,不便于重启服务器,所以就查找了别的方法。

[root@localhost]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> off

ftpd_connect_db --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

只要把allow_ftpd_full_access --> off,ftp_home_dir --> off改为on就可以了。

[root@localhost ]# setsebool -P ftp_home_dir on

[root@localhost ]# setsebool -P allow_ftpd_full_access on

最后重启vsftpd服务

service vsftpd restart

扩展

SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。

getsebool命令

是用来查询SElinux策略内各项规则的布尔值。

语法 

getsebool [-a] [布尔值条款] 

选项 

-a:列出目前系统上面的所有布尔值条款设置为开启或关闭值。 

setsebool命令

setsebool命令是用来修改SElinux策略内各项规则的布尔值。setsebool命令和getsebool命令是SELinux修改和查询布尔值的一套工具组。

语法

setsebool [-P] 布尔值=[0|1] 

选项

-P:直接将设置值写入配置文件,该设置数据将来会生效的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值