Auflisten aller Gruppen, denen ein Benutzer in macOS angehört

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)?

Antworten (2)

Probieren Sie den unten angegebenen Befehl aus.

id -Gn [user]

Auf meinem Mac id -Gn davidandersonist 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.

Gibt es eine Möglichkeit, ein Trennzeichen zwischen den Gruppen hinzuzufügen?
Du meinst etwas anderes als ein Leerzeichen? Wie ein Komma vielleicht?
Danke für Ihre Antwort. idAm 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.
Irgendeine Idee, welche API in welchem ​​Framework von MacOS diese Informationen bereitstellt? Ich brauche das, aber von meinem Cocoa-Code - und ich kann keine Antwort finden ...

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 uidund 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]