
Ich habe vor Kurzem neue Benutzer erstellt und sie bestimmten Gruppen zugewiesen. Ich frage mich, ob es einen Befehl gibt, der alle einer bestimmten Gruppe zugewiesenen Benutzer anzeigt. Ich habe versucht, den Befehl „Gruppen“ zu verwenden, aber jedes Mal, wenn ich diesen verwende, wird „Gruppen: nicht gefunden“ angezeigt.
Antwort1
Ich bevorzuge diegetentBefehl ...
Da getent denselben Namensdienst wie das System verwendet, zeigt es alle Informationen an, einschließlich der aus Netzwerkinformationsquellen wie LDAP gewonnenen.
Für eine Gruppe sollten Sie also Folgendes verwenden ...
getent group name_of_group
WoName_der_Gruppewird durch die Gruppe ersetzt, die Sie suchen möchten. Beachten Sie, dass hierdurch nur ergänzende Gruppenmitgliedschaften zurückgegeben werden. Benutzer, die diese Gruppe als primäre Gruppe haben, werden nicht berücksichtigt.
Sie können noch eine ganze Reihe weiterer Suchvorgänge durchführen. passwd
Eine weitere nützliche Funktion ist die, die Sie zum Auflisten primärer Gruppen benötigen.
Antwort2
Sie können grep verwenden:
grep '^group_name_here:' /etc/group
Dies listet nur zusätzliche Gruppenmitgliedschaften auf, nicht die Benutzer, die diese Gruppe als primäre Gruppe haben. Außerdem werden nur lokale Gruppen gefunden, keine Gruppen aus einem Netzwerkdienst wie LDAP.
Antwort3
Einfacher zu machengroups [username]
Wenn Sie alle lokalen Benutzer und ihre lokalen Gruppen auflisten möchten, können Sie Folgendes tun:
cat /etc/passwd | awk -F':' '{ print $1}' | xargs -n1 groups
Wenn Sie die Meldung "Gruppen: Befehl nicht gefunden" erhalten, haben Sie wahrscheinlich Ihren Umgebungspfad zum Schlechteren geändert. Um Ihren Pfad zurückzusetzen,PATH=$(getconf PATH)
Antwort4
groups
Der Befehl gibt die Gruppenmitgliedschaften eines Benutzers aus. Sie können lid
den Befehl verwenden, um Benutzer in einer Gruppe wie folgt aufzulisten:
# lid -g <groupname>
Update: Bei Debian-basierten Distributionen unterscheidet sich der Befehlsname als libuser-lid
. Beide Befehle werden vom Paket bereitgestellt libuser
, wie @chris-down erwähnt hat.
$ sudo libuser-lid -g lpadmin
kadir(uid=xxxx)