牛骨文教育服务平台(让学习变的简单)

centos vsftp 500 OOPS: cannot change directory:/home/ftp

他的系统是CentOS,是RH派系的。我把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:
500 OOPS: cannot change directory:/home/ftp
原因是他的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

有关selinux的配置

如关闭,仅仅警告,强制等等 需要编辑/etc/sysconfig/selinux 默认是强制。

centos vsftpd 出现553 Could not create file

1。首先确保你的FTP目录 文件是可写的,ls -l 可以查看 如果不是则 chmod 777 ftpd目录
2。使用命令getsebool -a|grep ftp 查看
ftpd_disable_trans ftp_home_dir allow_ftpd_full_access 是否为on
如果不是则使用
setsebool allow_ftpd_full_access on
setsebool ftpd_disable_trans on
setsebool ftp_home_dir on
3。一般这样就可以了,如果还不行请查看配置文件,如果配置文件没有问题可以先远程连接服务器在FTP目录下随便创建一个文件,使用ftp刷新下目录会恢复正常(这个情况我遇到过)。