Linux
apache 是否應該擁有對 Web 根目錄的寫入權限?
可能重複:
/var/www
我正在嘗試獲得有關如何為 apache 相對於 web 根 ( )設置權限的規範答案。根據這個非常受歡迎的答案,給 apache 寫訪問權限/var/www
似乎沒問題,而在其他地方(見評論)似乎是不行的。有人可以闡明一下嗎?如果這本身就是一個安全風險,您能否準確描述如何利用它?
更新:
讓我們假設一個私有伺服器,我們關心的唯一兩個使用者是“apache”和“root”。
授予使用者對目錄的寫入權限,即授予該使用者對該目錄中任何內容的寫入、修改和刪除權限,而不管其中包含的文件的所有者或個人權限。網路伺服器使用者代表有權訪問其服務的網站的任何人工作。在大多數情況下,任何人都是普通的網際網路,除非有特定的安全規則。因此,Internet 上具有基本知識的任何人都可以刪除和/或修改文件,或將不需要的內容放入您的目錄結構中以提供服務。
推薦的解決方案是在公共結構之外有一個可寫目錄,安全腳本可以訪問該目錄,以便向公眾寫入/呈現內容。如果您絕對必須在公共結構中擁有一個可寫目錄,我會將其設為一個不起眼的低級目錄,該目錄永遠不會被引用用於一般 Internet 的讀取目的。但絕不是您網站結構的頂部。
不幸的是,對於如何利用面向 Web 的伺服器寫入未受保護的文件系統的一般問題,沒有答案。除了可能執行的任何不安全腳本(PHP;CGI;PERL;JAVA)之外,它還取決於 Web 伺服器和支持服務(例如:PHP;JAVA 等)和您正在執行的特定版本的利用網站。關鍵是,作為網路/系統管理員,您不應該打開對磁碟的寫入,完全相信上述任何一項來保護您。此外,傳播此類資訊也是不道德的。