redhatでgidを持つグループをリストする方法は?


42

私は最初に以下を使用してグループをリストしました:

groups 

を使用してグループを追加しました

groupadd -g 300 oinstall
groupadd –g 500 dba

そして、私がするとき

groups 
root bin daemon sys adm disk wheel sfcb

追加したグループが見つかりません。グループIDでグループをリストする方法は?また、もう一度追加しようとすると、グループが既に存在していると表示されます。

回答:


67

このgroupsコマンドは、システムで使用可能なすべてのグループではなく、ユーザーが現在メンバーであるグループを一覧表示します。getentコマンドを使用して、名前またはgidでグループを検索できます。

getent group oinstall
getent group 500

すべてのグループを表示するには、コマンドから検索クエリを除外します。

getent group

2
@Kitexは、グループを作成したが、そのメンバーではないためです。ユーザーをグループに追加してからログアウトし、再度ログインして、groupsコマンドで表示されるようにする必要があります。
ヨルダン

1
@kitex言葉遣いに少し更新しました。それがあなたの理解に役立つことを願っています。
ヨルダン

2
@Kitexは答えを更新しました
ヨルダン

3
@kinkajouプロフェッショナルな経験が豊富で、このサイトやIRC Linuxサポートなどのサイトで多くの時間を費やしました。私は約8年間、プロであり、愛好家です。愛好家であることは重要な部分だと思います。なぜならあなたは自分が気にしていることを思い出す可能性が高いからです。
ヨルダン

1
@kinkajou私は自宅ですべてのコンピューティングにGnu / Linuxを使用しました。デスクトップ、ラップトップ、ラズベリーパイ。私は1991年からそれを使用してきました(元はSolaris、12月、HPのGnu)。私は知識を増やし続けています。すぐにやり直す必要はありません(MicrosoftのWindowsと同様)。
ctrl-alt-delor

9

を使用してグループを一覧表示できます。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:

上記では、グループユーザーの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/参照してください。


6
グループは常にに保存されるとは限りません/etc/group。NIS、LDAPなどに保存できます
。-ヨルダン

1
ldapグループを使用しないでくださいgetent group
MUYベルギー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.