Ich möchte die Gruppen einiger Benutzer kennen.
$dscl . list /groups
filterByUser theFindUser
Ist dies auf einfache Weise möglich (auch wenn ich alle Gruppen aufzählen und dann nach Benutzern filtern muss)?
Probieren Sie den unten angegebenen Befehl aus.
id -Gn [user]
Auf meinem Mac id -Gn davidanderson
ist die Ausgabe von unten angegeben.
staff everyone localaccounts _appserverusr admin _appserveradm _lpadmin _appstore _lpoperator _developer _analyticsusers com.apple.access_ftp com.apple.access_screensharing com.apple.access_ssh 2 1
Das Trennzeichen kann von einem Leerzeichen in ein Komma geändert werden, indem Sie Folgendes eingeben.
groups="$(id -Gn davidanderson)"
groups="${groups// /,}"
echo "$groups"
Hier würde die Ausgabe wie folgt aussehen.
staff,everyone,localaccounts,_appserverusr,admin,_appserveradm,_lpadmin,_appstore,_lpoperator,_developer,_analyticsusers,com.apple.access_ftp,com.apple.access_screensharing,com.apple.access_ssh,2,1
Ich verwende High Sierra, macOs 10.13.4 und eine Bash-Shell.
Geben Sie Folgendes ein, um alle Gruppen aufzulisten, denen ein Benutzer angehört:
id [username]
[username]
Argument ist optional. Standardmäßig wird vom angemeldeten Benutzer ausgegangen. Die Ausgabe enthält die numerische Benutzer-ID uid
und die Liste aller Gruppen zusammen mit ihrer Gruppen-ID gid
, in der der Benutzer Mitglied ist. Die erste Gruppe in der Ausgabe ist die primäre Gruppe des Benutzers.
Um nur die Gruppennamen aufzulisten, geben Sie Folgendes ein:
id -Gn [username]
Um nur die Gruppennummern aufzulisten, geben Sie Folgendes ein:
id -G [username]
Ryan Gates
David Anderson
Ryan Gates
id
Am Ende habe ich es alleine verwendet . Es druckte die Gruppen-ID, den Namen in Klammern und verwendete ein Komma als Trennzeichen. Dies würde nur funktionieren, um den aktuellen Benutzer nachzuschlagen. Das hat mein Problem aber gelöst.Motti Schoner
David Anderson