系统是CentOS,是RH派系的。把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:
vsftpd Transfer done (but failed to open directory)
原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//首先查看SELinux设置
# getsebool -a|grep ftp
发现ftpd_disable_trans –> off 或者 ftp_home_dir–>off
解决方法:
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans –> on
或者
ftp_home_dir–>on
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart