我是網路開發人員。我允許幾個人透過 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 或允許群組寫入。