他的系统是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 默认是强制
=============================================
linux 添加 ftp 用户 vsftp 出现500 OOPS: cannot change directory 的解决办法
2010-08-09 16:40
#useradd -d /var/www ftpuser // useradd -d 目录 用户名
#passwd ftpuser
然后根据提示相应输入密码
然后就可以登录了
#ftp 127.0.0.1
然后根据提示输入用户名 和 对应的 密码
出现 500 OOPS: cannot change directory的解决办法
# getsebool ftpd_disable_trans
ftpd_disable_trans --> off
# setsebool ftpd_disable_trans 1 //使用setsebool命令开启
# getsebool ftpd_disable_trans //查看当前状态是否是on的状态
ftpd_disable_trans --> on
# setsebool -P ftpd_disable_trans 1 //setsebool使用-P参数,无需每次开机都输入这个命令
# service vsftpd restart