Ich weiß, dass es die /etc/group
Datei gibt, in der alle Benutzergruppen aufgelistet sind.
Ich würde gerne wissen, ob es einen einfachen Befehl gibt, um alle Benutzergruppennamen aufzulisten, obwohl die weltweit lesbare /etc/group
Datei analysiert wurde . Ich bin bereit, eine Administrator-Webseite zu erstellen, auf der die Gruppennamen der Linux-Konten aufgeführt sind.
Antworten:
Verwenden Sie diesen Befehl, um alle lokalen Gruppen aufzulisten, denen Benutzer zugewiesen sind:
Weitere Info-> Unix - Gruppen , Cut - Befehl , Befehl sort
quelle
cut
ist ein weiterer Befehl, der die spezifische Spalte aus einer Eingabe extrahiert. Hier extrahiere ich Feld 1, wo Felder durch:
Wenn Sie möchten, dass alle Gruppen dem System bekannt sind, würde ich empfehlen,
getent group
anstatt zu analysieren/etc/group
:Der Grund dafür ist, dass Gruppen auf vernetzten Systemen möglicherweise nicht nur aus
/etc/group
Dateien lesen , sondern auch über LDAP oder Gelbe Seiten abgerufen werden (die Liste der bekannten Gruppen stammt aus der lokalen Gruppendatei plus Gruppen, die in diesen Fällen über LDAP oder YP empfangen wurden).Wenn Sie nur die Gruppennamen möchten, können Sie Folgendes verwenden:
quelle
getent group | cut -d: -f1 | sort
getent group | cut -d: -f1 | sort | cat -n
.Verwenden Sie unter Linux, MacOS und Unix Folgendes, um die Gruppen anzuzeigen, zu denen Sie gehören:
Dies entspricht einem
groups
Dienstprogramm, das unter Unix veraltet ist (gemäß Unix-Handbuch ).Unter MacOS und Unix wird der Befehl
id -p
für normale interaktive Aktionen empfohlen.Erläuterung der Parameter:
quelle
id -Gn someusername
gibt die Liste der Gruppen für den angegebenen Benutzer zurück.id -Gnz | xargs -0 -I% echo %
listet jede Gruppe in einer separaten Zeile auf. Dies ist nützlich, wenn die Gruppennamen Leerzeichen enthalten.groups
veraltet? Irgendwelche Quellen? Ich suchte nach "Unix-Gruppenbefehl veraltet", fand aber nichts.groups
.