私が知っている限り、groups
コマンドとid
コマンドの両方の出力にユーザーのセカンダリグループを表示する必要があります。しかし、私の場合、出力は異なります。
$ id <username>
uid=1000(username) gid=1000(username) groups=1000(username)
$ groups
username adm cdrom sudo dip plugdev lpadmin sambashare libvirt
Ubuntuバージョン18.04.1を使用しています。
また、ファイルを確認した結果、コマンドが表示した指定されたユーザー名に関連するグループのエントリは表示されません/etc/group
でした。groups
実際には、そのファイルのユーザー名マッピングに関する補助グループ情報であってはなりませんか?グループ名の横に、グループコマンドのcdrom
私のユーザー名が表示されると予想しました!
役に立つ場合、このコマンドの出力は次ps -o egid,rgid,pid,ppid,cmd | grep bash
のようになります。
1000 1000 30061 29959 /bin/bash
1000 1000 31747 30061 grep --color=auto bash
更新:ユーザー名を指定せずにコマンド出力を確認すると、そのid
コマンドに似たすべてのグループが表示されますが、groups
指定されたユーザー名で同じコマンドを実行するとid username
他のグループは表示されません。コマンドのマニュアルページにはid
次のように表示されます。
id [OPTION] ... [USER]指定されたUSERまたは(USERが省略されている場合)現在のユーザーのユーザーおよびグループ情報を印刷します。
この場合は同じユーザーのため、同じ出力でなければなりません。