それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

linux でグループに所属するユーザーを調べて一覧をする。

wheel グループに所属してるの、誰と誰?

こういう時ありますよね。あの人、このグループに割り当てててたっけ?

グループに所属するメンバを一覧したい。ありませんか。私はよくあります

getent を使います

ユーザーの管理といえば getent です。

getent group

これで、存在するグループ一覧と、所属するメンバ一覧を出すことが出来ます。

「getent group $NAME 」で指定する。

あとは、getent group の結果から、必要なグループを探してやればいいわけです。

getent group wheel

とかですね。

実際にやってみるとこんな感じ。

takuya@atom:~$ getent group sudo
sudo:x:27:takuya

grep使わなくても、引数にグループ名を入れてあげればOKだったりします。

なんでgetent使うの?/etc/group でいいじゃん?

vigr や cat /etc/group がなぜダメなのか?

ユーザーの管理は、/etc/group だけとは限らないからです!

NISLDAPでAD連携とかやってると、ユーザーの一覧はファイルでなく、サーバーにもあったりします。

Windows的な用語を使えば、ローカルアドミンとAD管理者ですね。その辺をまとめて取得できるのが、getentです。だからgetentを使います。

LDAPの設定を確認するときなんかもgetent を使いますよね。アレと一緒です。

個人的な感想を言えば、LDAPNISも使わずに、仮想ホスト上げまくってユーザー設定ごとコピーするとか、rootで /etc/passwd を rsyncとか、puppetやchef設定とか面倒くさくって余りやりたくないですね。