GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie heraus, zu welchen Gruppen ein Benutzer in Linux gehört

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.


Linux
  1. So finden Sie die Liste aller offenen Ports in Linux heraus

  2. Welche Linux-Version verwende ich? So finden Sie es heraus

  3. So finden Sie alle Sudo-Benutzer in Linux

  4. So ermitteln Sie die Benutzerspeichernutzung in Linux

  5. Wie finden Sie heraus, welcher Prozess eine Datei in Linux verwendet?

So finden Sie die IP-Adresse unter Linux

So finden Sie den Hostnamen unter Linux

So finden Sie heraus, zu welchen Gruppen ein Benutzer in Ubuntu 20.04 gehört

So finden Sie heraus, welche Grafikkarte Sie unter Linux haben

So ändern Sie den Benutzer unter Linux

Wie man die Gruppen eines Linux-Benutzers kennt