Files

如何將文件的寫入權限授予組

  • January 16, 2018

我想讓組中的任何使用者都可以寫一個文件夾所以我首先創建一個新組,如下所示:

sudo groupadd newGroup

然後我在這個組中添加 user1 和 user2,如:

sudo usermod -a -G newGroup user1
sudo usermod -a -G newGroup user2

我檢查這些使用者是否在組中:

getent group newGroup

然後在我的文件夾中,我將所有權授予該組,例如:

sudo chown :newGroup myfile

並將權限更改為 770,以便組中的任何人都可以使用

sudo chmod 770 myfile

但是,當我嘗試使用組中的 user2 打開文件夾時,我不能!我只能使用擁有該文件的使用者 user1 打開它。我錯過了什麼?

編輯

ls la 文件結果

$ ls -la | grep myfile
-rwxrwx---  1 user1              newGroup       3819 Jan 16 10:21 myfile

編輯 2

我只需要註銷並登錄即可生效。

使用者(您的範例中的 user1 和 user2)需要註銷並再次登錄,只有這樣他們加入新組才會生效。

屬於使用者 U 並且是組 G1 和 G2 的成員的程序 P(例如 shell)(由 顯示id不會受到這種安排的任何更改(例如通過usermod或類似)的影響。具體來說,如果將使用者 U 添加到組 G3,則程序 P 將不會注意到。同樣,如果您刪除組 G2,P 也不會注意到。這也適用於子程序,因為身份屬性是繼承的;所以如果程序 P1 為使用者 U 啟動,而 U 是 G1 和 G2 的成員,並且 U 從 G2 中刪除,然後 P1 分叉 P2,那麼 P2 仍然在 G1 和 G2 中。這就是使用者 U 必須註銷並再次登錄的原因,因為身份屬性是由login.

引用自:https://unix.stackexchange.com/questions/417447