グループ内のすべてのユーザーが書き込むことができるフォルダを作成したいので、まず次のように新しいグループを作成します。
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
効果を適用するには、ログアウトしてログインするだけです。
ベストアンサー1
新しいグループに追加されたコンテンツを適用するには、ユーザー(例ではuser1とuser2)がログアウトしてから再度ログインする必要があります。
ユーザーUとグループG1とG2id
のメンバーに属するプロセスP(シェルなど)は、次のことを行います。いいえusermod
本契約の変更(例えば、または同様の変更)の影響を受けます。特に、ユーザUがグループG3に追加されると、プロセスPはこれを知らない。同様に、グループG2を削除すると、Pはそれを知りません。これは、ID属性が継承されるため、子プロセスにも当てはまります。したがって、プロセスP1がユーザーUに対して開始され、UがG1とG2のメンバーであり、UがG2から削除され、次にP1がP2をフォークした場合、P2はまだG1にあります。そしてG2。これがユーザーUがログアウトしてから再度ログインする必要がある理由です。 ID属性がのようなものによって決まるからですlogin
。