Linux

vps 中跨多個站點的 www-data 安全問題

  • May 9, 2017

我最近買了一個VPS,從中學到了很多。我設法創建了一個 ftp 使用者,將其設置為我站點文件根目錄的所有者,將其添加到 www-user 組,將該組設置為文件根目錄的組並授予文件 0775 (0664) 權限。

我的問題是,如果 www-data 可以訪問和修改文件根目錄中的文件,其他站點的腳本是否也能夠修改這些文件(現在使用 .htaccess 對公眾進行保護)?

注意:我希望 www-data 具有寫入權限,因為 PHP 腳本應該能夠修改文件。

如何解決這個問題?

要解決此問題,您必須使用自己的憑據執行每個站點實例,而不是使用www-data.

如果使用apache,您可以使用apache-mpm-itk及其AssignUserID參數將特定使用者/組分配給每個不同的站點/虛擬主機。使用這種方法,apache, php, cgi, ecc 都將使用分配的憑據執行。

另一種特定於 php 的方法是suPHP,它基本上使用特定的使用者/組憑據執行您的 php 腳本。

我認為最好不要讓 Apache 使用者或組寫入所有文件根目錄。是否使用 apache-mpm-itk/suPHP/mpm-peruser,也許您應該檢測 Apache 真正需要寫入的文件和目錄(每個站點),並僅授予對這些文件/目錄的組寫入權限。

引用自:https://serverfault.com/questions/807723