關於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較差。
關於Linux檔案訪問許可權與設定使用者id位
最近在學習 unix 高階環境程式設計 這邊書,之前對unix中的檔案訪問還有和檔案訪問相關的設定使用者id set user id 位以及設定組id set group id 位一直沒有弄清楚,今天跟他人討論乙個問題,終於有些明白了,記錄以供溫故。首先說說檔案的許可權控制位,每乙個檔案都有檔案模式...
Linux的檔案許可權與目錄設定
1.在預設情況下,系統上的賬號與一般身份使用者還有root相關檔案資訊都是記錄在 etc passwd 這個檔案內。至於個人密碼則是記錄在 etc shadow這個檔案下,此外,linux所有的組名都是記錄在 etc group內。2.su 執行替換使用者和組標識的shell 為root 為host...
linux檔案許可權設定
檔案的三個最基本的許可權是讀寫執行 r,讀,可以讀取檔案,對目錄來說可以列出目錄的檔案列表 4 w,寫,可以修改刪除檔案,對目錄來說可以建立刪除檔案 2 x,執行,可以執行檔案,對目錄來說可以cd進入目錄 1 注意點 目錄上只有執行許可權,則可以進入或者穿越此資料夾,但是要訪問此資料夾下有讀取許可權...