Eine Linux-Gruppe ist eine Sammlung von einem oder mehreren Benutzern mit identischen Berechtigungsanforderungen für Dateien und Verzeichnisse. Ein Benutzer kann gleichzeitig Mitglied von mehr als einer Gruppe sein. Unter Linux werden alle Gruppeninformationen in "/etc/group" gespeichert Datei. In diesem Tutorial werden wir alle möglichen Wege sehen, um auf einfache Weise herauszufinden, zu welchen Gruppen ein Benutzer in Linux- und Unix-ähnlichen Betriebssystemen gehört.
In vielen Fällen ist es hilfreich, herauszufinden, zu welchen Gruppen ein Benutzerkonto gehört. Neulich habe ich zum Beispiel Dropbox auf meinem Ubuntu-Server installiert . Bei der Konfiguration von Dropbox musste ich meinen aktuellen Benutzernamen und den Gruppennamen eingeben. Sie könnten sich auch in einer Situation befinden, in der Sie die Gruppen identifizieren müssen, denen ein Benutzer angehört. Verwenden Sie in diesem Fall eine der folgenden Methoden, um zu erfahren, welcher Gruppe ein Benutzer angehört.
Finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört
Es gibt viele Möglichkeiten, die Gruppen aufzulisten, denen ein Linux-Benutzer angehört. Die am häufigsten verwendete Methode ist die Verwendung von Gruppen Befehl.
Methode 1 - Gruppenbefehl
Die Gruppen Der Befehl zeigt die aktuellen Gruppennamen und die Zugehörigkeit der Benutzer zu diesen Gruppen in Linux- und Unix-ähnlichen Betriebssystemen an.
Lassen Sie uns zuerst herausfinden, wie viele Gruppen es in unserem Linux-System gibt.
Um die Liste der unter Linux verfügbaren zu finden, führen Sie die Gruppen aus Befehl ohne Argumente wie unten:
$ groups
Beispielausgabe:
sk adm disk cdrom sudo dip plugdev lpadmin sambashare kvm libvirt vboxusers
Verfügbare Gruppen in Linux auflisten
Wie Sie in der obigen Ausgabe sehen können, gibt es derzeit 12 Gruppen in meinem System.
Finden Sie nun heraus, welche Gruppen ein bestimmter Benutzer hat, zum Beispiel sk , gehört. Geben Sie dazu den Befehl „Gruppen“ gefolgt vom Benutzernamen wie unten ein:
$ groups sk
Beispielausgabe:
sk : sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt
Finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört, indem Sie den Befehl groups verwenden
Hier, sk ist mein Benutzername und der Benutzer sk ist Mitglied aller oben genannten Gruppen. Sie haben vielleicht bemerkt, dass "sk" zweimal aufgeführt ist. Weil ich denselben Namen sowohl für den Benutzernamen als auch für den Gruppennamen verwendet habe.
Weitere Einzelheiten zum Befehl "groups" finden Sie in den Manpages.
$ man groups
Methode 2 - id-Befehl
Die andere Möglichkeit, die Gruppen zu identifizieren, in denen sich ein Benutzer befindet, ist die Verwendung von "id" Befehl. Der Befehl id wird verwendet, um Benutzer- und Gruppeninformationen für den angegebenen BENUTZER zu drucken. Wenn der BENUTZER nicht angegeben ist, werden die Informationen für den aktuellen Benutzer gedruckt.
Um alle Gruppen, denen ein Benutzer angehört, mit dem Befehl „id“ zu identifizieren, führen Sie Folgendes aus:
$ id sk
Ersetzen Sie sk mit Ihrem Benutzernamen.
Beispielausgabe:
uid=1000(sk) gid=1000(sk) groups=1000(sk),4(adm),6(disk),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),1001(vboxusers),129(kvm),136(libvirt)
Finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört, indem Sie den Befehl id verwenden
Wie Sie hier sehen, listet der Befehl id nicht nur die Gruppen auf, denen der Benutzer angehört, sondern auch die Gruppen-ID und die Benutzer-ID (UID und GID) des angegebenen Benutzers und der Gruppen. Er hat eine ausführlichere Ausgabe als der "groups"-Befehl, wenn Sie also die Gruppen-ID/Benutzer-ID brauchen, verwenden Sie diese!
Wenn Sie die Zahlen nicht drucken möchten, verwenden Sie einfach -Gn Flagge wie unten:
$ id -Gn sk sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt
Weitere Einzelheiten finden Sie in den Manpages.
$ man id
Methode 3 - Verwenden der Datei "/etc/group"
Wie ich bereits sagte, ist die /etc/group enthält die Informationen zu jeder Gruppe in einem Linux-System. Welche Gruppen der jeweilige Benutzer angehört, können Sie dem Inhalt der /etc/group entnehmen Datei mit Hilfe von "grep" Befehl wie unten gezeigt:
$ grep sk /etc/group
Beispielausgabe:
adm:x:4:syslog,sk disk:x:6:sk cdrom:x:24:sk sudo:x:27:sk dip:x:30:sk plugdev:x:46:sk lpadmin:x:116:sk sk:x:1000: sambashare:x:126:sk vboxusers:x:1001:sk kvm:x:129:sk libvirt:x:136:sk,libvirtdbus
Wenn Sie die Gruppen-IDs und den Benutzernamen ausschließen und nur die Gruppennamen anzeigen möchten, leiten Sie die Ausgabe des "grep"-Befehls an "awk" weiter Befehl wie unten:
$ grep sk /etc/group | awk -F: '{ print $1 }'
Beispielausgabe:
adm disk cdrom sudo dip plugdev lpadmin sk sambashare vboxusers kvm libvirt
Finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört, indem Sie die Befehle grep und awk verwenden
Methode 4 - getent-Befehl
Das "getent" Der Befehl zeigt Einträge aus Datenbanken an, die von den Name Service Switch-Bibliotheken unterstützt werden, die in /etc/nsswitch.conf konfiguriert sind Datei.
Wir können alle verfügbaren Gruppen und ihre Mitglieder in einem Linux-System mit dem getent-Befehl wie unten auflisten:
$ getent group
Führen Sie Folgendes aus, um herauszufinden, zu welchen Gruppen ein bestimmter Nutzer (z. B. sk) gehört:
$ getent group | grep sk
Beispielausgabe:
adm:x:4:syslog,sk disk:x:6:sk cdrom:x:24:sk sudo:x:27:sk dip:x:30:sk plugdev:x:46:sk lpadmin:x:116:sk sk:x:1000: sambashare:x:126:sk vboxusers:x:1001:sk kvm:x:129:sk libvirt:x:136:sk,libvirtdbus
Wenn Sie nur die Gruppen ohne alle anderen Details anzeigen möchten, filtern Sie die Ausgabe mit den Befehlen "grep" und "awk" wie unten:
$ getent group | grep sk | awk -F: '{ print $1 }' adm disk cdrom sudo dip plugdev lpadmin sk sambashare vboxusers kvm libvirt
Finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört, indem Sie die Befehle getent, grep und awk verwenden
Alle Benutzer auflisten, die zu einer Gruppe in Linux gehören
Wir können auch die Liste aller Benutzer finden, die zu einer bestimmten Gruppe gehören. Der folgende Befehl zeigt beispielsweise die Benutzer an, die zur Gruppe mit dem Namen storage gehören .
$ grep -w storage /etc/group storage:x:95:sk
Einfach richtig? In der Tat. Es ist super einfach herauszufinden, zu welchen Gruppen ein Benutzer gehört und welche Benutzer einer bestimmten Gruppe angehören!
Verwandte Lektüre:
- Wie man die Mitglieder einer Gruppe in Linux auflistet
- So finden Sie alle Sudo-Benutzer in Ihrem Linux-System
Das hilft.