|
#1
|
||||
|
||||
網站目錄及檔案的權限
我想請問一下,一般架站時的目錄和檔案權限要如何設最好?
一般都說目錄或次目錄就設755,而檔案就設成644。但權限已是755次目錄之內的檔案是否也得設成644比較好? 另外就是上傳檔案的問題,因為有時候從原始軟體網站下載架站的程式壓縮檔案,經常會在自己windows電腦中解開,做必要的修改後再重新壓縮,以前通常是壓縮成.zip然後再上傳到外面要架站的主機,結果此時常發現解壓後的目錄和檔案常常會變成某個權限(不一定是755和644),而遇到開始install時,不是某個檔案無法寫入就是某個檔案執行失敗。有的檔案或目錄甚至非得權限全開777才行?或者根本不知是哪個檔案權限不符要求? 於是常常都是在本機時就把所有的檔案和目錄全改成777然後再壓縮上傳解壓縮,此時安裝自然不會有問題。但如此一來就面臨安全問題了。 而偏偏目前大多數使用cpanel的檔案管理功能不支持一次性的更改,於是你得個別檔案和目錄改權限,遇到有幾百個檔案的根本無法改 就算用ftp軟體修改,雖然能一次更改多個檔案,但似乎也無法深入次目錄裡去一次修改該目錄下的檔案?就是無法像使用telnet這樣直接下指令chmod -r 644 *.*,就能一次將某個次目錄下面的所有檔案權限全改成644。 有些困擾,不知各位都如何處理?
__________________
A.一文請勿多貼。 B.請選擇相關屬性的版面發文。 C.各類廣告有專版,請勿隨意發至不相干之版面。 ---------------------------------------------- 發佈您網站的新聞請到 What's New 新聞發佈網來。 |
#3
|
|||
|
|||
這些問題不應該是問題才是。
檔案方面,上傳到主機,FTP cilent 自然會處裡不同作業系統間檔案權限的改變。比較有問題的反而是出在 FTP 傳輸時採用的方式,也就是 ASCII 或 BINARY。 而通常,採用 FTP client 的自動偵測功能,都能勝任。 至於說上傳之後,程式執行權限,這就要詢問主機商了。不同的設定方式,會有不同的設定與要求。最安全的就是,像 steven 說的,執行的程式,是以檔案的所有者身分來執行。 像 Dreamhost,它可以設定 PHP 以 CGI 的方式執行,而不使用 modules 的方式執行 PHP。缺點是效率差,優點是安全性高,不致於一堆人都使用同一個 group 的權限執行程式。 像這類的問題,包括解壓縮的注意事項,以及檔案目錄權限的設定,通常在該程式的使用說明文件,都會提到。 有些還會強調要以 BINARY 的方式傳輸 ASCII 的文件。 之後,就要詢問主機商了。 像一些重要的設定檔,如果程式執行的權限,跟檔案所有者的權限相同,那麼,那些重要的設定檔,就可以設為 0400。也就是檔案擁有者唯讀的權限。 這是最安全的。 如果設為 0400 之後,發現程式執行錯誤,或是無法執行,那很可能是,程式執行權限是以某一個 group 來執行。通常也暗示 PHP 是以 Apache 的一個 modules 來跑。這麼一來,只要 group 當中某一個人被入侵,屬於同一個 group 的,也就很難倖免。 使用虛擬主機的,如果要注意安全,除了留意程式說明文件的說明,就是慎選主機商。 不過,說實在的,要徹底安全,除非自己架設主機。 因為,某些客戶會要求主機商開放這個功能那個功能、打開這個權限那個權限、這邊給點兒方便那邊給點兒方便... ,其結果可想而知。 |