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 einer vorhandenen Gruppe hinzugefügt werden, um die von ihr gewährten Berechtigungen zu nutzen.
In diesem Tutorial wird erläutert, wie alle Gruppen angezeigt werden, zu denen ein Benutzer gehört. Wir werden auch erklären, wie Sie alle Mitglieder einer Gruppe auflisten.,
Linux-Gruppen #
Es gibt zwei Arten von Gruppen, zu denen ein Benutzer gehören kann:
-
Primär – oder Anmeldegruppe-ist die Gruppe, die den Dateien zugewiesen ist, die vom Benutzer erstellt werden. Normalerweise entspricht der Name der primären Gruppe dem Namen des Benutzers. 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 einer oder mehrerer sekundärer Gruppen sein.,
Listen Sie alle Gruppen auf, zu denen ein Benutzer Mitglied von #
Es gibt mehrere Möglichkeiten, die Gruppen herauszufinden, zu denen ein Benutzer gehört.
Die primäre Benutzergruppe wird in der /etc/passwd
Datei gespeichert und die zusätzlichen Gruppen, falls vorhanden, sind in der /etc/group
Datei aufgeführt.
Eine Möglichkeit, die Benutzergruppen zu finden, besteht darin, den Inhalt dieser Dateien mit cat
, less
oder grep
aufzulisten ., Eine weitere einfachere Option ist die Verwendung eines Befehls, mit dem Informationen über die Benutzer und Gruppen des Systems bereitgestellt werden sollen.
Verwenden des Befehls Gruppen #
Der denkwürdigste Befehl zum Auflisten aller Gruppen, zu denen ein Benutzer gehört, ist der Befehl groups
. Wenn der Befehl ohne Argument ausgeführt wird, gibt er eine Liste aller Gruppen aus, 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, zu denen ein bestimmter Benutzer gehört, geben Sie den Benutzernamen für den Befehl groups
als Argument an:
groups linuxize
Wie zuvor ist die erste Gruppe die primäre Gruppe.
linuxize : linuxize sudo
Mit dem Befehl id #
Der Befehl id
gibt 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
zu erhalten, geben Sie Folgendes ein:
id linuxize
Der Befehl zeigt die Benutzer-ID (uid
), die primäre Gruppe des Benutzers (gid
) und die sekundären Gruppen des Benutzers (groups
)
uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize),27(sudo)
Um nur die Namen anstelle der Zahlen zu drucken, verwenden Sie die Option -n
. Option -g
druckt nur die primäre Gruppe und -G
alle Gruppen.,
Der folgende Befehl gibt die Namen der Gruppen aus, zu denen der aktuelle Benutzer gehört:
id -nG
john adm cdrom sudo dip plugdev lpadmin sambashare
Listen Sie alle Mitglieder einer Gruppe auf #
Um alle Mitglieder einer Gruppe aufzulisten, verwenden Sie den Befehl getent group
gefolgt vom Gruppennamen.,
Um beispielsweise die Mitglieder einer Gruppe mit dem Namen developers
herauszufinden, verwenden Sie den folgenden Befehl:
getent group developers
Wenn die Gruppe existiert, druckt der Befehl die Gruppe und alle ihre Mitglieder aus:
developers:x:126:frank,mary
Wenn keine Ausgabe vorhanden ist, bedeutet dies, dass die Gruppe nicht existiert.
Listen Sie alle Gruppen auf #
Um alle auf dem System vorhandenen Gruppen anzuzeigen, öffnen Sie einfach die Datei /etc/group
. Jede Zeile in dieser Datei stellt Informationen für eine Gruppe.,
less /etc/group
Eine weitere Option ist die Verwendung des Befehls getent
, der Einträge aus Datenbanken anzeigt, die in der /etc/nsswitch.conf
– Datei konfiguriert sind, einschließlich der group
– Datenbank, mit der wir eine Liste aller Gruppen abfragen können.
Um eine Liste aller Gruppen zu erhalten, geben Sie den folgenden Befehl ein:
getent group
Die Ausgabe ist die gleiche wie beim Anzeigen des Inhalts der/etc/group
Datei., Wenn Sie LDAP für die Benutzerauthentifizierung verwenden, zeigt die getent
alle Gruppen aus der /etc/group
– Datei und der LDAP-Datenbank an.
Sie können auch awk
oder cut
verwenden, um nur das erste Feld zu drucken, das den Namen der Gruppe enthält:
getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1
Fazit #
In diesem Tutorial haben Sie gelernt, wie Sie die Gruppen finden, in denen ein Benutzer Mitglied. Die gleichen Befehle gelten für jede Linux-Distribution, einschließlich Ubuntu, CentOS, RHEL, Debian und Linux Mint.