關於SuPHP與文件權限設定

  關於SuPHP與文件權限設定
cPanel中將PHP Handler 模式改變爲SuPHP,因此造 成了造訪頁面時發生HTTP 500 Error,後來詢問原因之後才知道,在SuPHP的模式下不允許任何權限爲 777 的目錄及文件。另外在SuPHP的模式下也不支持透過 .htaccess 文件修改 php.ini 參數,因此如果原本.htaccess文件中有存在着php_ 開頭的設定,也將造成造訪網頁時,產生500錯誤。
那遇到這些問題時,該怎麼解決呢?
首先先檢查網站上,網頁的文件中是否還有目錄或文件權限爲777,如果有,則把目錄權限修改爲755,文件權限修改爲 644。感覺只要在網頁目錄下執行chmod 644 -R *.*就可以解決了,但,事情總沒有那麼簡單,這樣的執行並不完整,最後在網絡上找到了關於主機設定爲SuPHP後要如何設定的數據,看到了更完整更好的修改所有目錄及權限方法。

修改目錄權限
find /home/*/public_html -type d -exec chmod 755 {} \;

修改文件權限
find /home/*/public_html -type f -exec chmod 644 {} \;
上述的方法之中,可以把find裏的路徑修改爲自己主機上的路徑,其實可以算是find很進階的使用。如果你的主機並不是所有的文件都要設定爲644那,可以參考這個網頁中的方法

find /home/*/public_html/ -type d -print0 | xargs -0 chmod 0755 # For directories
find /home/*/public_html/ -type f -not -name "*.pl" -not -name "*.cgi" -not -name "*.sh" -print0 | xargs -0 chmod 0644 # For files
至於,爲什麼主機那邊要從CGI改變爲SuPHP呢?根據這一篇文章中所提到的,可以看到主要的原因就是SuPHP安全性比較高,但性能相對於CGI較差。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章