前天在redhat5.4下配置了一个vsftpd的本地用户登录,成功登录进去了,但是用ls和dir无法查看【原】linux--解决登录vsftpd后无法使用dir和切换目录的方法 - ご痕迹□擱淺 - ご痕迹□擱淺

且用cd也不能用(不能切换目录)

【原】linux--解决登录vsftpd后无法使用dir和切换目录的方法 - ご痕迹□擱淺 - ご痕迹□擱淺

以为是配置文件弄错了,就认真地检查了遍了,没发现有错误,而且防火墙已经关了,找了很久终于知道
哪里的问题,原来是我的redhat默认安装了selinux,他是Linux内核中提供的强制访问控制系统,默认情况下没有开启对ftp的支持,所以不能dir等命令。

可以通过命令getsebool -a|grep ftp来查看是否打开对ftp的支持【原】linux--解决登录vsftpd后无法使用dir和切换目录的方法 - ご痕迹□擱淺 - ご痕迹□擱淺

看!ftp_home_dir(查看)和ftpd_disable_trans(切换)都处于off状态,难怪无法使用查看和使用切换命令。

可以使用命令setsebool ftpd_disable_trans 1或setsebool ftp_home_dir 1来开启(on)。【原】linux--解决登录vsftpd后无法使用dir和切换目录的方法 - ご痕迹□擱淺 - ご痕迹□擱淺

上图已经成功开启。

但是这两个命令只对当前状态有效,若重启系统后会还原回原来的值。

若想永远生效,可以用命令setsebool -P ftpd_disable_trans 1或setsebool -P ftp_home_dir 1来更改。

最后重启一下ftp服务器就可以查看和切换了。