使 /var/www 僅可由 root 和 Web 伺服器存取

使 /var/www 僅可由 root 和 Web 伺服器存取

我是網路開發人員。我允許幾個人透過 SSH 存取我的機器。

我想確保他們無法存取我的文件/var/www/

那麼是否可以使這些檔案僅對 Web 伺服器可讀,並為 root 使用者提供讀取/寫入存取權限?

答案1

我假設 Apache 使用者名稱為www-data.如果您希望其中的檔案/var/www/只能由該使用者讀取,則需要授予其所有權:

sudo chown -R www-data /var/www/

現在您想www-data成為唯一可以實際讀取/寫入這些內容的使用者:

sudo chmod -R 700 /var/www/

請注意,root無論權限如何,始終具有對任何檔案的讀取/寫入存取權限。不管這個設定是不是一個好主意——好吧,我寧願將這些 SSH 用戶 chroot 到他們的主資料夾。看我可以建立只能存取特定目錄的 SSH 使用者嗎?

答案2

取決於您的網頁伺服器的使用者(通常是 www-data):

chown www-data /var/www
chmod -R 700 /var/www

這會將 www-data 使用者設定為 /var/www 目錄的擁有者,並且僅允許所有者存取該目錄。

答案3

您可能想讓 root 或其他使用者成為您的 Web 內容的擁有者。如果有人透過腳本或其他入口點獲得存取權限,這將防止 Web 伺服器覆蓋內容。將這些命令替換root為您想要擁有該內容的任何使用者。

chown -R root:www-data /var/www
chmod 2750 /var/www

若要允許user(root 除外)維護內容,您需要將使用者新增至 www-data 群組。

adduser user www-data

某些 Web 應用程式可能會有一些寫入動態內容的目錄。要允許訪問,請將所有者變更為 www-data 或允許群組寫入。

相關內容