Linux
vps 中跨多個站點的 www-data 安全問題
我最近買了一個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 真正需要寫入的文件和目錄(每個站點),並僅授予對這些文件/目錄的組寫入權限。