Wie liste ich Gruppen mit gid in redhat auf?

42

Ich habe die Gruppen zuerst aufgelistet mit:

groups 

Ich habe die Gruppe mit hinzugefügt

groupadd -g 300 oinstall
groupadd –g 500 dba

und dann, wenn ich es tue

groups 
root bin daemon sys adm disk wheel sfcb

Ich kann keine von mir hinzugefügten Gruppen finden. Wie liste ich Gruppen mit Gruppen-ID auf? Auch wenn ich versuche, es erneut hinzuzufügen, heißt es, dass Gruppen bereits vorhanden sind.

kinkajou
quelle

Antworten:

67

Der groupsBefehl listet Gruppen auf, denen der Benutzer derzeit angehört, und nicht alle auf dem System verfügbaren Gruppen. Mit dem getentBefehl können Sie eine Gruppe nach Namen oder GID suchen .

getent group oinstall
getent group 500

Um alle Gruppen anzuzeigen, lassen Sie Ihre Suchabfrage einfach außerhalb des Befehls:

getent group
Jordanien
quelle
2
@Kitex, weil Sie die Gruppe erstellt haben, aber kein Mitglied der Gruppe sind. Sie müssen Ihren Benutzer zur Gruppe hinzufügen, sich dann abmelden und erneut anmelden, damit er mit dem groupsBefehl angezeigt wird.
Jordanien
1
@kitex Ich habe die Formulierung leicht aktualisiert, hoffe, das hilft Ihnen beim Verständnis.
Jordanien
2
@Kitex hat die Antwort aktualisiert
Jordan
3
@kinkajou viele Berufserfahrungen sowie viel Zeit für Sites wie diese und die Unterstützung von IRC Linux. Ich bin ein Fachmann und ein Enthusiast seit ungefähr 8 Jahren. Ich denke, ein Enthusiast zu sein ist ein wichtiger Teil, weil Sie sich mit größerer Wahrscheinlichkeit an Dinge erinnern, die Sie interessieren.
Jordan
1
@kinkajou Ich habe Gnu / Linux für alle meine Computer zu Hause verwendet. Desktops, Laptops, Himbeer-Pis. Ich benutze es seit 1991 (ursprünglich Gnu unter Solaris, Dec, HP). Ich füge meinem Wissen hinzu; Sie müssen es nicht durcharbeiten und neu starten (wie bei Microsoft Windows).
Strg-Alt-Delor
9

Sie können Gruppen auflisten, indem Sie verwenden getentoder, falls nicht vorhanden, nachsehen/etc/group

Bei der Ausführung des Befehls ist die GID der dritte Wert in der Ausgabe, z.

$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:

Um nur Gruppennamen und deren GID aufzulisten awk, drucken Sie die gewünschten Spalten folgendermaßen aus:

$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Siehe auch http://man7.org/linux/man-pages/man1/getent.1.html

In dem Fall getentist das nicht vorhanden.

$ grep $group /etc/group

Die GID ist der 3. Wert in der Ausgabe. Z.B

$ grep users /etc/group
users:x:100:

Oben ist die GID für die Gruppenbenutzer 100. Um nur den Gruppennamen und die GID zu erhalten, können Sie awk und grep wie folgt verwenden:

$ cat /etc/group | awk -F ":" '{ print $1,$3 }' 
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Beachten Sie, dass bei Systemen, die für die Verwendung der externen Authentifizierung (wie LDAP) eingerichtet sind, nicht alle Gruppen in der Datei / etc / group vorhanden sind. Siehe auch http://www.cyberciti.biz/faq/understanding-etcgroup-file/

M_dk
quelle
6
Gruppen werden nicht immer in gespeichert /etc/group. Sie könnten in NIS, LDAP usw. gespeichert werden
Jordan
1
Arbeiten Sie nicht mit ldap group, verwenden Sie getent group.
MUY Belgien