Wie man prüft, ob eine Gruppe in Linux existiert

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie mithilfe verschiedener Methoden prüfen können, ob eine Gruppe in Linux existiert. Wir werden uns damit befassen, Gruppeninformationen mit dem Befehl getent group abzufragen, der Einträge aus den Name Service Switch (NSS)-Datenbanken abruft.

Darüber hinaus lernen Sie, wie Sie direkt die Datei /etc/group untersuchen können, in der Gruppeninformationen gespeichert sind, und wie Sie den Befehl grep verwenden können, um effizient nach bestimmten Gruppen in dieser Datei zu suchen. Mit diesen Techniken werden Sie in der Lage sein, die Existenz und die Details von Gruppen auf Ihrem Linux-System zu überprüfen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") subgraph Lab Skills linux/cat -.-> lab-558718{{"Wie man prüft, ob eine Gruppe in Linux existiert"}} linux/grep -.-> lab-558718{{"Wie man prüft, ob eine Gruppe in Linux existiert"}} linux/groups -.-> lab-558718{{"Wie man prüft, ob eine Gruppe in Linux existiert"}} end

Abfrage von Gruppen mit getent group

In diesem Schritt werden wir untersuchen, wie Sie mithilfe des Befehls getent Informationen über Gruppen auf Ihrem Linux-System abfragen können. Der Befehl getent ist ein leistungsstarkes Hilfsprogramm, das Einträge aus den Name Service Switch (NSS)-Datenbanken abruft, einschließlich Benutzer- und Gruppeninformationen.

Um Informationen über eine bestimmte Gruppe abzufragen, können Sie die folgende Syntax verwenden:

getent group [group_name]

Versuchen wir es, Informationen für die Gruppe labex abzufragen. Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

getent group labex

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

labex:x:5000:labex

Diese Ausgabe liefert Details über die Gruppe labex:

  • labex: Der Gruppenname.
  • x: Ein Platzhalter, der früher für das verschlüsselte Passwort verwendet wurde (jetzt anderswo gespeichert).
  • 5000: Die Gruppen-ID (Group ID, GID).
  • labex: Eine Liste der Benutzer, die Mitglieder dieser Gruppe sind (in diesem Fall ist der Benutzer labex der primäre Mitglied).

Jetzt versuchen wir es, Informationen für die Gruppe sudo abzufragen. Diese Gruppe ist wichtig, da Benutzer in der sudo-Gruppe Befehle mit Superuser-Rechten ausführen können.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

getent group sudo

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

sudo:x:27:labex

Dies zeigt, dass die Gruppe sudo eine GID von 27 hat und der Benutzer labex ein Mitglied ist.

Der Befehl getent group ist eine schnelle und zuverlässige Methode, um Informationen über bestimmte Gruppen auf Ihrem System zu suchen.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Suchen nach Gruppen in der Datei /etc/group

Im vorherigen Schritt haben wir getent group verwendet, um Gruppeninformationen abzufragen. Jetzt schauen wir uns die eigentliche Datei an, in der diese Informationen oft gespeichert sind: /etc/group.

Die Datei /etc/group ist eine einfache Textdatei, die eine Liste aller Gruppen auf dem System enthält. Jede Zeile in dieser Datei repräsentiert eine einzelne Gruppe und enthält Informationen, die ähnlich sind wie die, die uns getent group gezeigt hat.

Sie können den Inhalt dieser Datei mit einem Befehlszeilen-Hilfsprogramm wie cat anzeigen. cat wird verwendet, um Dateiinhalte zu verketten und anzuzeigen.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

cat /etc/group

Sie werden eine lange Liste von Gruppen sehen, eine pro Zeile. Jede Zeile folgt dem Format:

group_name:password_placeholder:GID:user_list

Beispielsweise könnten Sie Zeilen wie diese sehen:

root:x:0:
daemon:x:1:
...
labex:x:5000:labex
sudo:x:27:labex
...

Wie Sie sehen können, sind die Informationen für die Gruppen labex und sudo in dieser Datei vorhanden und stimmen mit den Angaben überein, die getent group angezeigt hat.

Das Anzeigen der gesamten Datei /etc/group kann überwältigend sein, insbesondere auf Systemen mit vielen Gruppen. Im nächsten Schritt lernen wir, wie wir mithilfe des Befehls grep nach bestimmten Gruppen in dieser Datei suchen können.

Klicken Sie auf Weiter, um fortzufahren.

Überprüfen von Gruppen mit dem grep-Befehl

Im vorherigen Schritt haben wir den gesamten Inhalt der Datei /etc/group angezeigt. Obwohl dies informativ ist, ist es nicht effizient, wenn Sie nur Informationen über eine bestimmte Gruppe finden möchten. Hier kommt der grep-Befehl ins Spiel.

grep ist ein leistungsstarkes Befehlszeilen-Hilfsprogramm zum Suchen in Textdateien nach Zeilen, die einem regulären Ausdruck entsprechen. Einfach ausgedrückt, hilft es Ihnen, Zeilen in einer Datei zu finden, die ein bestimmtes Wort oder Muster enthalten.

Wir können cat und grep mithilfe einer Pipe (|) kombinieren. Die Pipe sendet die Ausgabe des linken Befehls als Eingabe an den rechten Befehl.

Um nach der Zeile zu suchen, die die Gruppe labex in der Datei /etc/group enthält, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat /etc/group | grep labex

Dieser Befehl gibt zunächst den Inhalt von /etc/group mithilfe von cat aus, und dann sucht grep labex in dieser Ausgabe nach Zeilen, die das Wort "labex" enthalten.

Sie sollten die Zeile für die Gruppe labex angezeigt bekommen:

labex:x:5000:labex

Jetzt versuchen wir es, nach der Gruppe sudo zu suchen:

cat /etc/group | grep sudo

Dies wird die Zeile für die Gruppe sudo anzeigen:

sudo:x:27:labex

Das Verwenden von grep mit cat ist ein gängiges Muster in Linux zum Filtern von Ausgaben. Es ermöglicht Ihnen, schnell die spezifischen Informationen zu finden, die Sie in großen Dateien oder Befehlsausgaben benötigen.

Sie haben nun drei Methoden gelernt, um Informationen über Gruppen zu erhalten: whoami (für die primäre Gruppe Ihres eigenen Benutzers), id (für die Gruppen Ihres Benutzers), getent group (für detaillierte Informationen zu einer bestimmten Gruppe) und grep in /etc/group (zum Suchen in der Gruppen-Datei).

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mithilfe verschiedener Methoden prüft, ob eine Gruppe in Linux existiert. Zunächst haben wir uns den Befehl getent group angeschaut, ein leistungsstarkes Hilfsprogramm zum Abfragen von Gruppeninformationen aus NSS-Datenbanken (Name Service Switch - Datenbanken). Wir haben gezeigt, wie man Details wie Gruppenname, GID (Group ID) und Mitglieder für bestimmte Gruppen wie labex und sudo abrufen kann. Diese Methode bietet eine schnelle und zuverlässige Möglichkeit, Gruppeninformationen aufzulisten.