前にユーザが所属しているグループの一覧を取得する処理について記述したが、今回はLinuxで各グループごとに所属しているユーザ一覧が必要になったので、出力用のコマンドを備忘で残しておく。 サブグループとして後から追加させたりしたユーザについては、getentコマンドで取得可能だ。
bashgetent group
shell[root@BS-PUB-CENT7-01 ~]# getent group root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: wheel:x:10: …
ただ、あくまでもサブグループとして後からグループに参加させたりしたユーザのみしか表示されないので、システムユーザだったり、プライマリグループに所属しているユーザは表示されない。 それらを表示させるため、以下のようにちょっと無理やり出力させるコマンドを書いてみた。
bash
getent group | awk -F: '{cmd="lid -ng "$1"|tr -d \"\n\" ";cmd|getline c;close(cmd);print $1":"c}'
shell[root@BS-PUB-CENT7-01 ~]# getent group | awk -F: '{cmd="lid -ng "$1"|tr -d \"\n\" ";cmd|getline c;close(cmd);print $1":"c}' root: root sync shutdown halt operator bin: bin daemon: daemon sys: daemon adm: adm tty: adm disk: adm lp: lp mem: lp kmem: lp wheel: lp cdrom: lp mail: mail postfix man: mail postfix dialout: mail postfix floppy: mail postfix games: mail postfix tape: mail postfix video: mail postfix ftp: ftp lock: ftp …