Linux のグループについて混乱しています。user1 が user1 と user2 の両方のグループに属していること (およびその逆) を考慮に入れると、次のようになります。
user1> id user1
uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),50(staff),113(lpadmin),130(sambashare),131(vboxusers),1001(user2)
user1> id user2
uid=1001(user2) gid=1001(user2) groups=1001(user2),0(root),1000(user1)
なぜ user1 が user2 およびグループ user2 が所有する -rwxrw-r-- ファイルを編集できないのかわかりません。
user1>ls -l hey.xml
-rwxrw-r-- 1 user2 user2 8385 May 24 11:39 hey.xml
user1>echo "fails" >> hey.xml
bash: hey.xml: Permission denied
ただし、グループを変更すると機能します:
user1> sudo chgrp user1 hey.xml
user1> echo "works" >> hey.xml
この質問にうまく答えられたら、user1 が user2 グループ内のファイルの読み取り/書き込みを常に許可するにはどうすればよいでしょうか? ありがとうございます
答え1
ユーザーをグループに追加しても、新しいメンバーシップはすぐには有効になりません。これが最新であることを確認する最も簡単な方法は、グループ メンバーシップが変更されたユーザーをログアウトさせて再度ログインさせることです。完了すると、ユーザーは期待どおりにファイルにアクセスできるようになります。
答え2
ファイルが両方のユーザーが所属するグループによって所有されていることを確認してください。ファイルがすでに存在する場合は、chown
ユーティリティを使用して所有権を変更します。user1に所有権を付与するのは得策ではありません。いつもユーザー2 によって作成されたファイルを変更できるようになります。
新しいグループを作成し、両方のユーザーをそのグループに追加することをお勧めします。これにより、user3 を追加するときにも簡単になります。