# 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刷新下目錄會恢復正常(這個情況我遇到過)。