Alle Benutzer in einem Linux-System müssen Mitglied mindestens einer Gruppe sein. Diese Gruppe wird als primäre Gruppe bezeichnet. Wenn ein Benutzer keine primäre Gruppe hat, kann er/sie sich nicht anmelden. Neben der primären Gruppe können die Benutzer auch Mitglied weiterer Gruppen sein. Die primäre Gruppeneinstellung wird in der "/etc/passwd-Datei" gespeichert . Der Name der primären Gruppe wird im 4. Feld dieser Datei angegeben. Die Einstellungen anderer (sekundärer) Gruppen werden in "/etc/group" gespeichert Datei. Dieses Tutorial erklärt verschiedene Möglichkeiten, alle Gruppen zu finden und aufzulisten und die Mitglieder einer Gruppe in Linux- und Unix-ähnlichen Betriebssystemen aufzulisten.
Alle Gruppen in Linux auflisten
Bevor wir alle Benutzer auflisten, die zu einer Gruppe gehören, suchen wir zuerst die Liste der verfügbaren Gruppen mit "compgen" Befehl. Compgen ist in BASH integriert, um die programmierbaren Vervollständigungsfunktionen zu manipulieren.
Um alle verfügbaren Gruppen in einem Linux-System aufzulisten, führen Sie "compgen" aus Befehl mit -g Option wie unten:
$ compgen -g
Beispielausgabe:
root
daemon
bin
sys
adm
tty
disk
lp
news
uucp
man
proxy
.
.
.
nova
rdma
libvirt
libvirt-qemu
libvirt-dnsmasq
cockpit-ws
cockpit-wsinstance
libvirtdbus
root
nogroup
Alle Gruppen in Linux mit dem Befehl compgen auflisten
Sie können die Liste aller Gruppen auch mit "getent" abrufen Befehl:
$ getent group
Beispielausgabe:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,sk
tty:x:5:syslog
disk:x:6:sk
lp:x:7:
mail:x:8:
news:x:9:
.
.
.
nova:x:134:
rdma:x:135:
libvirt:x:136:sk,libvirtdbus
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:137:
cockpit-ws:x:138:
cockpit-wsinstance:x:139:
libvirtdbus:x:998:
root:x:0:
nogroup:x:65534:
Alle Gruppen in Linux mit dem getent-Befehl auflisten
Das erste Feld in der Datei „/etc/group“ ist der Name der Gruppe. Wir können also "awk" verwenden oder "ausschneiden" Befehle, um nur das erste Feld zu drucken, das den Namen der Gruppe enthält, wie unten:
$ getent group | awk -F: '{ print $1}'
$ getent group | cut -d: -f1
Wenn Sie die Gruppen seitenweise anzeigen möchten, verwenden Sie "mehr" oder "weniger" Befehl wie unten:
$ more /etc/group
$ less /etc/group
Lassen Sie uns nun die Mitglieder einer Gruppe überprüfen.
Die Mitglieder einer Gruppe in Linux auflisten
Es gibt einige Möglichkeiten, die Gruppenmitglieder in Linux zu finden. Die Methoden, die wir hier verwendet haben, um die Mitglieder einer Gruppe zu identifizieren, sind unten angegeben:
- unter Verwendung der Datei "/etc/group",
- mit dem Befehl "getent",
- mit dem Befehl "groupmems",
- mit dem Befehl "members",
- mit dem "lid"-Befehl.
1. Listen Sie die Mitglieder einer Gruppe mit der Datei /etc/group
aufWenn eine Gruppe erstellt wird, werden die Informationen der Gruppe in "/etc/group" gespeichert Datei. Schauen wir uns den Inhalt dieser Datei mit "cat" an Befehl:
$ cat /etc/group
Beispielausgabe:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,sk
tty:x:5:syslog
disk:x:6:sk
lp:x:7:
mail:x:8:
news:x:9:
.
.
.
systemd-coredump:x:999:
nova:x:134:
rdma:x:135:
libvirt:x:136:sk,libvirtdbus
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:137:
cockpit-ws:x:138:
cockpit-wsinstance:x:139:
libvirtdbus:x:998:
Informationen zu Linux-Gruppen anzeigen
Wie ich bereits erwähnt habe, ist das erste Feld in „/etc/group“ für den Namen der Gruppe reserviert. Wie Sie in der obigen Ausgabe sehen können, kann ein Linux-System mehrere Gruppen enthalten.
Um die Mitglieder einer bestimmten Gruppe auf einem Linux-Rechner anzuzeigen, verwenden Sie "grep" Befehl, um die Gruppendetails aus der Datei „/etc/group“ wie folgt zu filtern:
$ grep '^sudo' /etc/group
Oder,
$ grep -w sudo /etc/group
Die obigen Befehle zeigen an, dass der Benutzer zur Gruppe mit dem Namen "sudo" gehört .
sudo:x:27:sk
Listen Sie die Mitglieder einer Gruppe in Linux mit dem grep-Befehl
aufWie Sie in der obigen Ausgabe sehen, enthält die „sudo“-Gruppe nur ein Mitglied namens „sk“.
2. Zeigen Sie die Mitglieder einer Gruppe mit dem Befehl "getent"
anDas "getent" zeigt Einträge aus Datenbanken an, die von den Name Service Switch-Bibliotheken unterstützt werden, die in "/etc/nsswitch.conf" konfiguriert sind Datei.
Um die Mitglieder einer bestimmten Gruppe in Linux mit dem Befehl „getent“ zu finden, führen Sie Folgendes aus:
$ getent group sudo
Dieser Befehl zeigt Mitglieder der "sudo"-Gruppe an.
Finden Sie die Mitglieder einer Gruppe in Linux mit dem Befehl getent
Ein bemerkenswerter Vorteil des getent-Befehls ist, dass er nicht nur die lokalen Benutzer auflistet, sondern alle Benutzer in allen konfigurierten Benutzerdatenbank-Backends, zum Beispiel LDAP, auf einem bestimmten System.
3. Drucken Sie Benutzer in einer Gruppe mit dem Befehl "groupmems"
Die "Gruppenspeicher" Der Befehl ermöglicht es einem Benutzer, seine eigene Gruppenmitgliedschaftsliste ohne Superuser-Rechte zu verwalten. Es ist Teil des Pakets shadow utils.
Um die Mitglieder einer Gruppe mit dem Befehl "groupmems" auszudrucken, führen Sie Folgendes aus:
$ sudo groupmems -g sudo -l
Drucken Sie die Mitglieder einer Gruppe mit dem Befehl groupmems in Linux
Dieser Befehl hat zwei Nachteile. Es befasst sich nur mit Gruppen in der Datei „/etc/group“, nicht jedoch mit denen in LDAP oder anderen Benutzerdatenbanken. Es erfordert auch Superuser-Privilegien, da es versucht, "/etc/gshadow" zu öffnen Datei.
4. Zeigen Sie Gruppenmitglieder mit dem Befehl "Mitglieder" an
Wie der Name schon sagt, zeigen die "members"-Befehle im Wesentlichen die Mitglieder einer Gruppe in Linux an. Der Befehl „members“ ist in den meisten Linux-Distributionen standardmäßig nicht verfügbar. Sie müssen es über den Paketmanager Ihrer Distribution installieren. Auf Debian-basierten Systemen können Sie es beispielsweise mit folgendem Befehl installieren:
$ sudo apt install members
Nach der Installation können Sie die Mitglieder einer bestimmten Gruppe in Linux mit dem Befehl "members" wie unten anzeigen:
$ members sudo
Gruppenmitglieder mit dem Members-Befehl in Linux anzeigen
Standardmäßig zeigt der Befehl „Mitglieder“ alle Benutzer an. Verwenden Sie -p oder -s um nur die Mitglieder einer primären oder sekundären Gruppe anzuzeigen.
5. Alle Benutzer auflisten, die zu einer Gruppe gehören, mit dem Befehl "liber-lid"
Der "liber-lid" Befehl zum Anzeigen von Informationen über Gruppen, die Benutzernamen enthalten, oder Benutzer, die in Gruppennamen enthalten sind.
Auch der Befehl „liber-lid“ ist in vielen Linux-Distributionen nicht standardmäßig verfügbar. Der "libuser" stellt diesen Befehl bereit, daher müssen Sie ihn mit dem Paketmanager Ihrer Distribution installieren. Installieren Sie zum Beispiel unter Debian, Ubuntu das Paket „libuser“ mit dem Befehl:
$ sudo apt install libuser
Um alle Benutzer in einer Gruppe aufzulisten, führen Sie Folgendes aus:
$ sudo libuser-lid -g sudo
Bitte beachten Sie, dass dieser Befehl Superuser erfordert Berechtigungen zum Ausführen.
Beispielausgabe:
sk(uid=1000)
Alle Benutzer in einer Gruppe in Linux mit dem Befehl libuser-lid auflisten
Weitere Einzelheiten finden Sie auf den Handbuchseiten des jeweiligen Befehls.
Das ist alles für jetzt. Dies sind einige verschiedene Methoden, um die Liste der Benutzer in einer Gruppe in Linux zu finden. Hoffe das hilft.
Verwandte Lektüre:
- Wie man herausfindet, zu welchen Gruppen ein Benutzer in Linux gehört
- So listen Sie alle Benutzer unter Linux auf