Wie füge ich Benutzer zu einer Gruppe auf der Kommandozeile hinzu?

15

Mit Linux / Unix kann ich useradd -G developers vivekvivek zur Entwicklergruppe hinzufügen. Wie kann ich mit Mac OS X dasselbe tun?

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

Prosseek
quelle
Nein, es ist kein Duplikat. Bei dem verknüpften "Duplikat" handelt es sich um das Erstellen eines Benutzers. Bei dieser Frage geht es um die Verwaltung der Gruppen, die ein vorhandener Benutzer hat.
JL Peyret

Antworten:

12

Ich habe diesen Einzeiler verwendet:

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

So fügen Sie einen Benutzer einer Gruppe hinzu:

dseditgroup -o edit -a vivek -t user developers

(Hinweis: Sie können dies auch dsclwie 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. Dies dseditgroupgeschieht 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

(Wiederum können Sie dies mit tun dscl, müssen aber den Benutzer sowohl aus GroupMembership als auch GroupMembers entfernen. dseditgroupBeides.)

Gordon Davisson
quelle
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.
Risyasin
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" benutze, wird in der Manpage angegeben, dass ich zur Eingabe eines Passworts aufgefordert werden soll. Stattdessen wird die vorherige Nachricht erneut gedruckt.
Michael
@Michael Wenn Sie einen Administrator mit angeben -u, sollte dieser nach dem Kennwort fragen . Welche Version von OS X verwenden Sie? Versuche es auch mit sudo(ie sudo dseditgroup -o ...) und das sollte funktionieren.
Gordon Davisson
dseditgroup -o edit -a vivek -t user developersist der Schlüssel. dseditgroup -o edit -a vivek -t developersdseditgroup -o edit -a vivek -t user developers
Viele
8

Zwei Möglichkeiten: Vom Terminal

Alles hier sollte auf der Kommandozeile erfolgen. Starten Sie zuerst dscl wie folgt:

$ dscl localhost

Dann wechseln Sie zum Knoten Gruppen:

cd / Local / Default / Groups

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

Gruppenname anhängen GroupMembership-Benutzername

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

Gruppenname löschen GroupMembership Benutzername

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

Und der Apfel offizielle Weg:

Wählen Sie "Apple"> "Systemeinstellungen" und klicken Sie dann auf "Konten". Kontoeinstellungen öffnen Schritt 2

Wenn der Einstellungsbereich gesperrt ist, klicken Sie auf das Sperrsymbol und geben Sie einen Administratornamen und ein Kennwort ein. Schritt 3

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

Wählen Sie im Popup-Menü "Neues Konto" eine Gruppe 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 der Konten, die Mitglieder der Gruppe sein sollen.

ConstantineK
quelle