Wie füge ich einen Benutzer zu einer Gruppe in der Befehlszeile hinzu?

Mit Linux/Unix kann ich verwenden useradd -G developers vivek, um vivek zur Entwicklergruppe hinzuzufügen. Wie kann ich dasselbe mit Mac OS X machen?

Wie überprüfe ich dann, ob vivek in der Entwicklergruppe ist?

Nein, es ist kein Duplikat. Beim verlinkten "Duplizieren" geht es um das Anlegen eines Benutzers. Bei dieser Frage geht es um die Verwaltung der Gruppen, die ein vorhandener Benutzer hat.

Antworten (3)

Ich habe diesen Einzeiler verwendet:

sudo dscl localhost -append /Local/Default/Groups/thegroupname GroupMembership theusername

So fügen Sie einen Benutzer zu einer Gruppe hinzu:

dseditgroup -o edit -a vivek -t user developers

(Hinweis: Sie können dies auch mit dsclas in der Antwort von @hobs tun, aber Sie sollten wirklich sowohl den Kurznamen des Benutzers zur GroupMembership-Liste als auch die GeneratedUID des Benutzers zur GroupMembers-Liste hinzufügen. dseditgroupBeides mit einem einzigen Vorgang.)

So überprüfen Sie die Mitgliedschaft:

dseditgroup -o checkmember -m vivek developers

Oder:

dsmemberutil checkmembership -U vivek -G developers

So entfernen Sie einen Benutzer aus einer Gruppe:

dseditgroup -o edit -d vivek -t user developers

(Auch hier können Sie dies mit tun dscl, müssen den Benutzer jedoch sowohl aus GroupMembership als auch aus GroupMembers entfernen. dseditgrouptut beides.)

Bestätigt. dscl fügt nur hinzu, ohne zu überprüfen, ob der Benutzer bereits in der Gruppe ist. es fügt nur hinzu. & Es kann eine doppelte Mitgliedschaft für denselben Benutzer in der Gruppe erstellen.
Ok das ist frustrierend. Wenn ich versuche, den ersten Befehl zu verwenden, heißt es "Benutzername und Passwort müssen angegeben werden". Wenn ich "-u michael" verwende, sagt die Manpage, dass sie mich zur Eingabe eines Passworts auffordern sollte, aber stattdessen wird die vorherige Nachricht erneut gedruckt!
@Michael Wenn Sie einen Admin-Benutzer mit angeben -u, sollte er zur Eingabe des Passworts auffordern. Welche Version von OS X verwendest du? Versuchen Sie es auch mit sudo(ie sudo dseditgroup -o ...) und das sollte funktionieren.
dseditgroup -o edit -a vivek -t user developersist der Schlüssel. Viele Leute schlagen vor, dseditgroup -o edit -a vivek -t developersaber nur dseditgroup -o edit -a vivek -t user developersfunktioniert

Zwei Wege: Vom Terminal aus

Alles hier sollte auf der Kommandozeile erledigt werden. Starten Sie zunächst dscl wie folgt:

$dscllocalhost

Dann cd zum Gruppenknoten:

cd /Local/Default/Groups

Sie können alle Gruppen mit ls sehen. Sobald Sie die Gruppe gefunden haben, an der Sie interessiert sind, können Sie alle ihre Eigenschaften mit dem Katzengruppennamen anzeigen. Wenn Sie bereit sind, einen Benutzer (Benutzername) zur Gruppe (Gruppenname) hinzuzufügen, verwenden Sie den folgenden Befehl:

Gruppennamen anhängen Benutzername der Gruppenmitgliedschaft

Wenn Sie ein Mitglied aus einer Gruppe entfernen möchten, verwenden Sie den folgenden Befehl (Vorsicht!):

Gruppenname löschen Benutzername der Gruppenmitgliedschaft

Wenn Sie mit Ihren Änderungen fertig sind, beenden Sie dscl, indem Sie exit eingeben.

Und der Apple-offizielle Weg:

Wählen Sie Apple-Menü > Systemeinstellungen und klicken Sie dann auf Konten. Öffnen Sie die Kontoeinstellungen Schritt 2

Wenn das Einstellungsfenster gesperrt ist, klicken Sie auf das Schlosssymbol und geben Sie einen Administratornamen und ein Kennwort ein. Schritt 3

Klicken Sie auf die Schaltfläche „Hinzufügen“ (+), die sich unter der Liste der Konten befindet, um ein neues Konto zu erstellen. Schritt 4

Wählen Sie eine Gruppe aus dem Einblendmenü „Neues Konto“ aus. Schritt 5

Geben Sie einen Namen für die Gruppe ein und klicken Sie dann auf Gruppe erstellen. Schritt 6

Aktivieren Sie die Kontrollkästchen neben den Konten, die Mitglieder der Gruppe sein sollen.