![授予群組對 chmod -R g+s 資料夾中新建立的檔案的寫入權限](https://rvso.com/image/1615521/%E6%8E%88%E4%BA%88%E7%BE%A4%E7%B5%84%E5%B0%8D%20chmod%20-R%20g%2Bs%20%E8%B3%87%E6%96%99%E5%A4%BE%E4%B8%AD%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E6%AA%94%E6%A1%88%E7%9A%84%E5%AF%AB%E5%85%A5%E6%AC%8A%E9%99%90.png)
我有一個資料夾,並在其上設定了 GID,如下所示:
chmod -R g+s
我還設定了 r/w 權限,如下所示:
chmod -R 2774
但問題是這個資料夾中新建立的檔案不保留 2774 權限,因此 GID 對我來說毫無用處,因為我也需要該群組的寫入權限。
問題是:我有一個應用程序,在特定用戶下運行,並且有幾個管理員,他們可能會編輯(或上傳新的)應用程式的文件,但是當他們編輯/上傳它們時,應用程式沒有寫入來訪問他們。有什麼方法可以確保 1 個資料夾內所有新建立或編輯的檔案始終保留 2774 權限?
答案1
你可以有一個遮罩問題。當使用者應用程式在檔案上設定存取標誌時,應用程式給予的標誌受到使用者 umask 的限制。例如,大多數應用程式設定對其建立的檔案的通用存取權限,但普通使用者的 umask 會重置群組寫入和其他寫入標誌。因此,您必須umask
為管理員 ID 設定更寬鬆的權限。