我的系统:64位RHEL6
1、问题:vsftp登录报错”500 OOPS: cannot change directory:/home/*******”
解决:
A、首先检查权限问题;
B、ftp服务器连接失败,错误提示:
500 OOPS: cannot change directory:/home/*******
500 OOPS: child died
当你看到以上提示时,试着在输入以下命令解决
(一、)[root@ www.codesky.net vsftpd]#setsebool -P ftpd_disable_trans 1
[root@ www.codesky.net vsftpd]#service vsftpd restart
第一行中的-P参数是为了以后不需要每次开机都输入这个命令
(二、)或使用以下解决:
[root@ www.codesky.net ~]#/usr/sbin/setsebool -P ftp_home_dir 1
#######################################################################################
2、如果使用setsebool -P ftpd_disable_trans 1 //加-P表示永久性
提示错误:
[root@ www.codesky.net vsftpd]# setsebool -P ftpd_disable_trans 1
libsemanage.dbase_llist_set: record not found in the database (No such file or directory).
libsemanage.dbase_llist_set: could not set record value (No such file or directory).
Could not change boolean ftpd_disable_trans
Could not change policy booleans
解决方法:
可能直接使用下面这个一条就可以解决了:
[root@ www.codesky.net ~]# /usr/sbin/setsebool -P ftp_home_dir 1
再试试,
如果还是不行的话再使用下面完全方式:
[root@ www.codesky.net vsftpd]# setsebool allow_ftpd_full_access 1
[root@ www.codesky.net vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@ www.codesky.net vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@ www.codesky.net vsftpd]# setsebool -P ftp_home_dir 1
[root@ www.codesky.net vsftpd]# setsebool httpd_enable_ftp_server 1
[root@ www.codesky.net vsftpd]# setsebool tftp_anon_write 1
[root@ www.codesky.net vsftpd]# service vsftpd restart
关闭 vsftpd:[确定]
为 vsftpd 启动 vsftpd:[确定]
[root@ www.codesky.net vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
ftpd_connect_db --> off
httpd_enable_ftp_server --> on
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> on
重启vsftpd,即可解决问题。
来源:oschina
链接:https://my.oschina.net/u/267081/blog/156954