それマグで!

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

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

Unixユーザーがwheelに所属しているか,所属するグループ名を取得する

コマンドでグループ名を取得したい。そしてユーザーが該当グループに属しているか調べたい。そこでユーザーのメタ情報表示するコマンドを集めてみました.

groups使って所属グループ一覧

takuya@debian00:~$ groups
takuya admin
takuya@debian00:~$

メインのグループを表示したいときは

takuya@debian00:~$ id
uid=1000(takuya) gid=1000(takuya) 所属グループ=1000(takuya),1001(admin)
takuya@debian00:~$

グループの操作はこんな感じ

man -k group したらこんだけコマンドが見つかった

group.5	group - ユーザーグループのファイル
groupadd.8	groupadd - 新しいグループを作成する
groupdel.8	groupdel - グループを削除する
groupmod.8	groupmod - グループを修正する
groups.1	groups - 現在のグループ名の表示
grpck.8	grpck - グループファイルが正しいかどうか検査する

ユーザーがAdminに所属しているかはわからない

ユーザーが所属しているかを調べるコマンドはなかった.それらコマンドを組み合わせて、調べてみることにする.

ユーザーが或るグループに所属するかはどうやって調べる?

シェルスクリプト苦手だから分らんけど見よう見まねでやってみた

for i in `groups`;do if test $i = "Users" ; then echo $i  found.; fi ;done

TakuyaさんがUsersに所属すれば found 見つからなければ何もしない.こんな感じです.

ユーザがwheelに所属するかは

for i in `groups atsushi `;do if test $i = "wheel" ; then echo $i  found.; fi ;done

で見ることが出来ます.

ただし /etc/passwd 、 /etc/groups を参照権限ないと groupsは id番号を返す。なので文字による比較は難しい