如何以完全權限綁定掛載多個使用者主目錄中的資料夾

如何以完全權限綁定掛載多個使用者主目錄中的資料夾

我有一個網頁伺服器,提供來自/var/www/vhosts/mysite.我想要做的是安裝此vhosts資料夾,/home/myuser/vhosts以便用戶可以登入、編輯任何文件並登出。問題是掛載不會忽略該資料夾中的權限。某些文件可以由 www-data 或其他使用者建立。如果它們是由其他使用者建立的,那麼 www-data 也無法讀取/修改它們。

到目前為止,我嘗試的是使用 fstab 建立綁定安裝。該資料夾成功安裝在使用者的主目錄中,並且使用 acl,我可以透過向該資料夾分配一個群組rwx並將 www-data 和使用者新增至該群組來允許他們寫入該資料夾。我想知道是否有一種方法可以綁定安裝資料夾,但權限不受影響,以便 www-data 始終可以毫無問題地對其進行讀取/寫入/執行,同時也允許使用者完全權限。

答案1

您需要先將這些使用者新增至 www-data 群組。那麼預期的方法就是使用chmod g+s /home/user/vhost.這將在此資料夾上設定 ,SGID這表示它的群組將用於新檔案。不幸的是,這對子目錄沒有幫助。為了使它們保持最新,您需要在目錄樹修改後定期執行此命令:find /home/user/vhost -type d -exec chmod g+s {} \;。這將搜尋所有子目錄並啟用SGID.最煩人的部分是,在添加子目錄之前需要對任何父目錄執行此操作,這意味著有時您需要在進行更改時運行多次,如果您忘記這樣做,那麼您只需要執行 chown 命令反正:find /home/user/vhost -type d -exec chown user:www-data {} \;

這就是我所說要做的,但我發現這整個計劃對我來說只是煩人。實際上,我所做的是在具有完全不相關權限的開發伺服器上工作。進行更改後,我有一個腳本同步到產品伺服器並每次設定所有所有權和權限,以確保一切始終正確。這種方法節省了大量時間,因為我永遠不需要擔心為什麼權限中斷。我只是運行腳本,一切都神奇地再次運行了。

相關內容