Ich weiß, dass es die Datei /etc/group
gibt, die alle Benutzergruppen auflistet.
Ich würde gerne wissen, ob es einen einfachen Befehl gibt, um alle Benutzergruppennamen aufzulisten, ohne die weltweit lesbare Datei /etc/group
zu parsen. Ich bin bereit, eine Administrator-Webseite zu erstellen, die die Namen der Linux-Konten und -Gruppen auflistet.
Um alle lokalen Gruppen aufzulisten, denen Benutzer zugeordnet sind, verwenden Sie diesen Befehl:
cut -d: -f1 /etc/group | sort
Für mehr Info- > Unix-Gruppen, Cut-Befehl, Befehl sortieren
Wenn Sie wollen, dass alle Gruppen dem System bekannt sind, würde ich empfehlen, getent
zu benutzen, anstatt /etc/group
zu analysieren. Auf vernetzten Systemen können Gruppen nicht nur aus der Datei /etc/group
gelesen werden, sondern auch über LDAP oder Yellow Pages bezogen werden, d.h. die Liste der bekannten Gruppen kommt aus der lokalen Gruppendatei plus den über LDAP oder YP erhaltenen Gruppen.
getent group
gibt Ihnen eine Liste von allen Gruppen im gleichen Format, das die /etc/group
-Datei verwendet.
Wenn Sie nur die Gruppennamen wollen, wird getent group | cut -d: -f1
die Aufgabe erledigen (wie oben).
Unter Linux, macOS und Unix können Sie die Gruppen, denen Sie angehören, anzeigen:
id -Gn
was dem Dienstprogramm groups
entspricht, das unter Unix überflüssig geworden ist (gemäß Unix-Handbuch).
Unter macOS und Unix wird der Befehl id -p
für normale interaktive Anwendungen empfohlen.
Erläuterung der Parameter:
-G
,--groups
- alle Gruppen-IDs ausgeben
-n
,--name
- druckt einen Namen anstelle einer Nummer, für-ugG
-p
- macht die Ausgabe menschenlesbar.