私は最初に以下を使用してグループをリストしました:
groups
を使用してグループを追加しました
groupadd -g 300 oinstall
groupadd –g 500 dba
そして私がするとき
groups
root bin daemon sys adm disk wheel sfcb
追加したグループが見つかりません。グループIDでグループをリストする方法は?また、もう一度追加しようとすると、グループがすでに存在していると表示されます。
groups
コマンドは、ユーザーが現在メンバーになっているグループをリストします。システムで使用可能なすべてのグループではありません。 getent
コマンドを使用して、名前またはgidでグループを検索できます。
getent group oinstall
getent group 500
すべてのグループを表示するには、検索クエリをコマンドから外します。
getent group
getent
を使用してグループをリストするか、存在しない場合は/etc/group
を調べます。
コマンドを実行すると、GIDは出力の3番目の値になります。例:
$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:
したがって、グループ名とそのGIDのみをリストするには、awk
を使用して、次のように必要な列を出力します。
$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
参照 http://man7.org/linux/man-pages/man1/getent.1.html
getent
が存在しない場合。
$ grep $group /etc/group
GIDは出力の3番目の値です。例えば
$ grep users /etc/group
users:x:100:
上記では、グループusersのGIDは100です。グループ名とGIDのみを取得するには、awkとgrepを次のように使用できます。
$ cat /etc/group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
外部認証(LDAPなど)を使用するようにセットアップされたシステムの場合、すべてのグループが/ etc/groupファイルに存在しないことに注意してください。参照 http://www.cyberciti.biz/faq/understanding-etcgroup-file/