這些問題不應該是問題才是。
檔案方面,上傳到主機,FTP cilent 自然會處裡不同作業系統間檔案權限的改變。比較有問題的反而是出在 FTP 傳輸時採用的方式,也就是 ASCII 或 BINARY。
而通常,採用 FTP client 的自動偵測功能,都能勝任。
至於說上傳之後,程式執行權限,這就要詢問主機商了。不同的設定方式,會有不同的設定與要求。最安全的就是,像 steven 說的,執行的程式,是以檔案的所有者身分來執行。
像 Dreamhost,它可以設定 PHP 以 CGI 的方式執行,而不使用 modules 的方式執行 PHP。缺點是效率差,優點是安全性高,不致於一堆人都使用同一個 group 的權限執行程式。
像這類的問題,包括解壓縮的注意事項,以及檔案目錄權限的設定,通常在該程式的使用說明文件,都會提到。
有些還會強調要以 BINARY 的方式傳輸 ASCII 的文件。
之後,就要詢問主機商了。
像一些重要的設定檔,如果程式執行的權限,跟檔案所有者的權限相同,那麼,那些重要的設定檔,就可以設為 0400。也就是檔案擁有者唯讀的權限。
這是最安全的。
如果設為 0400 之後,發現程式執行錯誤,或是無法執行,那很可能是,程式執行權限是以某一個 group 來執行。通常也暗示 PHP 是以 Apache 的一個 modules 來跑。這麼一來,只要 group 當中某一個人被入侵,屬於同一個 group 的,也就很難倖免。
使用虛擬主機的,如果要注意安全,除了留意程式說明文件的說明,就是慎選主機商。
不過,說實在的,要徹底安全,除非自己架設主機。
因為,某些客戶會要求主機商開放這個功能那個功能、打開這個權限那個權限、這邊給點兒方便那邊給點兒方便... ,其結果可想而知。
|