Android

Wie man Gruppen unter Linux auflistet

Debian "Buster" 10 - Eine Einführung | #Linux

Debian "Buster" 10 - Eine Einführung | #Linux

Inhaltsverzeichnis:

Anonim

Unter Linux ist eine Gruppe eine Sammlung von Benutzern. Der Hauptzweck der Gruppen besteht darin, eine Reihe von Berechtigungen wie Lese-, Schreib- oder Ausführungsberechtigungen für eine bestimmte Ressource zu definieren, die von den Benutzern innerhalb der Gruppe gemeinsam genutzt werden können. Benutzer können zu einer vorhandenen Gruppe hinzugefügt werden, um die von ihr gewährten Berechtigungen zu nutzen.

In diesem Tutorial wird erklärt, wie alle Gruppen angezeigt werden, in denen ein Benutzer Mitglied ist. Wir werden auch erklären, wie alle Mitglieder einer Gruppe aufgelistet werden.

Linux-Gruppen

Es gibt zwei Arten von Gruppen, denen ein Benutzer angehören kann:

  • Primär- oder Anmeldegruppe - ist die Gruppe, die den vom Benutzer erstellten Dateien zugewiesen wird. Normalerweise ist der Name der primären Gruppe mit dem Namen des Benutzers identisch. Jeder Benutzer muss genau einer primären Gruppe angehören.

    Sekundäre oder ergänzende Gruppe - Wird verwendet, um einer Gruppe von Benutzern bestimmte Berechtigungen zu erteilen. Ein Benutzer kann Mitglied keiner oder mehrerer sekundärer Gruppen sein.

Alle Gruppen auflisten, in denen ein Benutzer Mitglied ist

Es gibt mehrere Möglichkeiten, um herauszufinden, zu welchen Gruppen ein Benutzer gehört.

Die Gruppe des primären Benutzers wird in der Datei /etc/passwd gespeichert, und die zusätzlichen Gruppen, sofern vorhanden, werden in der Datei /etc/group aufgelistet.

Eine Möglichkeit, die Benutzergruppen zu finden, besteht darin, den Inhalt dieser Dateien mit cat , less oder grep . Eine weitere einfachere Option ist die Verwendung eines Befehls, mit dem Informationen zu den Benutzern und Gruppen des Systems bereitgestellt werden.

Verwenden Sie den Befehl groups

Der einprägsamste Befehl zum Auflisten aller Gruppen, denen ein Benutzer angehört, ist der Befehl groups . Wenn der Befehl ohne Argument ausgeführt wird, wird eine Liste aller Gruppen gedruckt, zu denen der aktuell angemeldete Benutzer gehört:

groups

Die erste Gruppe ist die primäre Gruppe.

john adm cdrom sudo dip plugdev lpadmin sambashare

Um eine Liste aller Gruppen zu erhalten, denen ein bestimmter Benutzer angehört, geben Sie den Benutzernamen für den Befehl groups als Argument ein:

groups linuxize

Wie zuvor ist die erste Gruppe die primäre Gruppe.

linuxize: linuxize sudo

Verwenden Sie den Befehl id

Der Befehl id Informationen über den angegebenen Benutzer und seine Gruppen aus. Wenn der Benutzername weggelassen wird, werden Informationen für den aktuellen Benutzer angezeigt.

Um beispielsweise Informationen über den Benutzer linuxize Sie linuxize :

id linuxize

Der Befehl zeigt den Benutzernamen ( uid ), die primäre Gruppe ( gid ) des Benutzers und die sekundären Gruppen ( groups ) des Benutzers an.

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)

Verwenden Sie die Option -n um nur die Namen ohne Benutzer- und Gruppen-IDs zu drucken. Option -g gibt nur die primäre Gruppe und -G alle Gruppen aus.

Der folgende Befehl gibt die Namen der Gruppen aus, in denen der aktuelle Benutzer Mitglied ist:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Alle Mitglieder einer Gruppe auflisten

Verwenden Sie den Befehl getent group gefolgt vom Gruppennamen, um alle Mitglieder einer Gruppe getent group .

Um beispielsweise die Mitglieder einer Gruppe mit dem Namen developers herauszufinden, verwenden Sie den folgenden Befehl:

getent group developers

Wenn die Gruppe existiert, gibt der Befehl die Gruppe und alle ihre Mitglieder aus:

developers:x:126:frank, mary

Wenn keine Ausgabe vorhanden ist, ist die Gruppe nicht vorhanden.

Alle Gruppen auflisten

Um alle auf dem System vorhandenen Gruppen anzuzeigen, öffnen Sie einfach die Datei /etc/group . Jede Zeile in dieser Datei repräsentiert Informationen für eine Gruppe.

less /etc/group

Eine andere Möglichkeit ist die Verwendung des getent dem Einträge aus Datenbanken getent die in der /etc/nsswitch.conf konfiguriert sind, einschließlich der group der eine Liste aller Gruppen abgefragt werden kann.

Geben Sie den folgenden Befehl ein, um eine Liste aller Gruppen abzurufen:

getent group

Die Ausgabe ist dieselbe wie beim Anzeigen des Inhalts der Datei /etc/group . Wenn Sie LDAP für die Benutzerauthentifizierung verwenden, zeigt das getent alle Gruppen aus der Datei /etc/group und der LDAP-Datenbank an.

Sie können auch awk oder cut , um nur das erste Feld mit dem Namen der Gruppe zu drucken:

getent group | awk -F: '{ print $1}'

getent group | cut -d: -f1

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie die Gruppen finden, in denen ein Benutzer Mitglied ist. Die gleichen Befehle gelten für alle Linux-Distributionen, einschließlich Ubuntu, CentOS, RHEL, Debian und Linux Mint.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.

Terminal