500 OOPS: cannot change directory:/home/student
發表於 : 2017-06-22 14:50:11
http://linux.vbird.org/linux_server/0410vsftpd.php
實體帳號的 SELinux 議題
在預設的情況下,CentOS 的 FTP 是不允許實體帳號登入取得家目錄資料的,這是因為 SELinux 的問題啦! 如果你在剛剛的 ftp localhost 步驟中,在 bye 離開 FTP 之前下達過『 dir 』的話,那你會發現沒有任何資料跑出來~ 這並不是你錯了,而是 SELinux 不太對勁的緣故。那如何解決呢?這樣處理即可:
[root@www ~]# getsebool -a | 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 <==就是這玩意兒!要設定 on 才行!
....(底下省略)....
[root@www ~]# setsebool -P ftp_home_dir=1
這樣就搞定囉!如果還有其他可能發生錯誤的原因,包括檔案資料使用 mv 而非使用 cp 導致 SELinux 檔案類型無法繼承原有目錄的類型時,那就請自行查閱 /var/log/messages 的內容吧!通常 SELinux 沒有這麼難處理的啦!
實體帳號的 SELinux 議題
在預設的情況下,CentOS 的 FTP 是不允許實體帳號登入取得家目錄資料的,這是因為 SELinux 的問題啦! 如果你在剛剛的 ftp localhost 步驟中,在 bye 離開 FTP 之前下達過『 dir 』的話,那你會發現沒有任何資料跑出來~ 這並不是你錯了,而是 SELinux 不太對勁的緣故。那如何解決呢?這樣處理即可:
[root@www ~]# getsebool -a | 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 <==就是這玩意兒!要設定 on 才行!
....(底下省略)....
[root@www ~]# setsebool -P ftp_home_dir=1
這樣就搞定囉!如果還有其他可能發生錯誤的原因,包括檔案資料使用 mv 而非使用 cp 導致 SELinux 檔案類型無法繼承原有目錄的類型時,那就請自行查閱 /var/log/messages 的內容吧!通常 SELinux 沒有這麼難處理的啦!