web-dev-qa-db-ja.com

「groups」と「groupsmyusername」の結果は異なりますか?

ユーザーpatrickplexグループに追加したいので、コマンドを使用しました

usermod -a -G plex patrick

すごい! groups patrickと入力すると、

patrick : patrick adm cdrom Sudo dip plugdev lxd sambashare lpadmin plex

ただし、ディレクトリをchgrpからpatrickplexしようとすると、拒否されたアクセス許可が返されます。ユーザー名を指定せずにgroupsと入力すると、出力は次のようになります。

patrick adm cdrom Sudo dip plugdev lxd sambashare lpadmin

最後にグループplexがありません。 (そして私はユーザーpatrickとしてログインしています)

私は間違って何をしましたか? groupsgroups usernameで異なる結果が表示されるのはなぜですか?

1
the_meter413

manページ(man groups)にあります:

DESCRIPTION

       Print  group  memberships  for  each  USERNAME  or,  if  no USERNAME is
       specified, for the current process (which  may  differ  if  the  groups
       database has changed).

グループメンバーシップは、プロセスの作成時(ログイン時)に設定されます。ログイン時にplexグループのメンバーではなかったため、groupsは現在のプロセスの一部としてそれをリストしません。 groups patrickは(plexグループメンバーシップで更新された)グループデータベースを参照します。

plexグループメンバーシップを使用するには、ログアウトしてログインするか、bashnewgrp plexコマンドを実行して新しいプロセスを作成します。

3
waltinator