2015年3月25日 星期三

[Linux]CentOS vsftp登入時發生錯誤 [500 OOPS:cannot change directory]

剛設定好的FTP Server在登入時可能會出現這樣的錯誤
500 OOPS:cannot change directory












這個問題原因找了好久也檢查過/home目錄下確實是有[AccountName]目錄的
後來發現原來是SELinux 的問題,又加上有開防火牆
解決的方法有兩個
1.關閉 SELinux
vi /etc/selinux/config
在裡面把
SELINUX=enforcing
改成
SELINUX=disabled

重新開機即可
reboot
****但是不建議使用這種方式****

2.查看SELinux設定中有關於ftp的權限設定
sestatus -b | grep ftp

會出現以下訊息
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                off
ftpd_connect_db                             off
ftpd_use_fusefs                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off
tftp_use_cifs                               off
tftp_use_nfs                                off

發現ftp_home_dir預設是off的,所以把ftp_home_dir打開
指令
setsebool -P ftp_home_dir on

如果要給user有完整的存取權限另外要再把allow_ftpd_full_acces給打開
setsebool -P allow_ftpd_full_access  on


重新啟動FTP Server
service vsftpd restart

完成

沒有留言:

張貼留言