Jak dodać użytkownika do grupy w wierszu poleceń?

15

W systemie Linux / Unix mogę useradd -G developers vivekdodać vivek do grupy programistów. Jak mogę zrobić to samo z Mac OS X?

Jak zatem sprawdzić, czy vivek należy do grupy programistów?

prosseek
źródło
Nie, to nie jest duplikat. Połączony „duplikat” dotyczy tworzenia użytkownika. To pytanie dotyczy zarządzania grupami, które ma istniejący użytkownik.
JL Peyret

Odpowiedzi:

12

Użyłem tego jednowarstwowego:

sudo dscl localhost -append /Local/Default/Groups/thegroupname GroupMembership theusername
hotpaw2
źródło
30

Aby dodać użytkownika do grupy:

dseditgroup -o edit -a vivek -t user developers

(Uwaga: możesz to zrobić również tak, dscljak w odpowiedzi @hobs, ale naprawdę powinieneś zarówno dodać krótką nazwę użytkownika do listy GroupMembership, jak i dodać GeneratedUID użytkownika do listy GroupMembers. dseditgroupRobi to za pomocą jednej operacji).

Aby sprawdzić członkostwo:

dseditgroup -o checkmember -m vivek developers

Lub:

dsmemberutil checkmembership -U vivek -G developers

Aby usunąć użytkownika z grupy:

dseditgroup -o edit -d vivek -t user developers

(Ponownie możesz to zrobić za pomocą dscl, ale musisz usunąć użytkownika zarówno z GroupMembership, jak i GroupMembers. dseditgroupRobi oba.)

Gordon Davisson
źródło
Potwierdzony. dscl dodaje tylko bez sprawdzania, czy użytkownik jest już w grupie. po prostu dodaje. i może utworzyć duplikat członkostwa dla tego samego użytkownika w grupie.
risyasin
Ok, to jest frustrujące. Kiedy próbuję użyć pierwszego polecenia, pojawia się komunikat „Nazwa użytkownika i hasło muszą zostać podane”. Kiedy używam „-u michael”, strona podręcznika mówi, że powinien monitować mnie o hasło, ale zamiast tego drukuje poprzednią wiadomość!
Michael
@Michael, jeśli określisz użytkownika admin -u, powinien on poprosić o hasło. Jakiej wersji OS X używasz? Spróbuj także z sudo(tj. sudo dseditgroup -o ...) I to powinno działać.
Gordon Davisson,
dseditgroup -o edit -a vivek -t user developersjest kluczem. Wiele osób sugeruje, dseditgroup -o edit -a vivek -t developersale tylko dseditgroup -o edit -a vivek -t user developersdziała
Lingasamy Sakthivel
8

Dwa sposoby: z terminala

Wszystko tutaj należy zrobić w wierszu polecenia Najpierw uruchom dscl w następujący sposób:

$ dscl localhost

Następnie przejdź do węzła Grupy:

cd / Local / Default / Groups

Możesz zobaczyć wszystkie grupy używając ls. Po znalezieniu interesującej Cię grupy możesz wyświetlić wszystkie jej właściwości za pomocą cat groupname. Aby dodać użytkownika (nazwę użytkownika) do grupy (nazwa grupy), użyj następującego polecenia:

dołącz nazwę grupy nazwa użytkownika GroupMembership

Jeśli chcesz usunąć członka z grupy, użyj następującego polecenia (uważaj!):

usuń nazwę grupy nazwa użytkownika GroupMembership

Po zakończeniu wprowadzania zmian zamknij dscl, wpisując polecenie exit.

I oficjalny sposób jabłka:

Wybierz menu Apple> Preferencje systemowe, a następnie kliknij Konta. Otwórz preferencje kont Krok 2

Jeśli panel preferencji jest zablokowany, kliknij ikonę kłódki i wprowadź nazwę administratora i hasło. Krok 3

Kliknij przycisk Dodaj (+), znajdujący się pod listą kont, aby utworzyć nowe konto. Krok 4

Wybierz grupę z wyskakującego menu Nowe konto. Krok 5

Wprowadź nazwę grupy, a następnie kliknij Utwórz grupę. Krok 6

Zaznacz pola wyboru obok kont, które mają być członkami grupy.

ConstantineK
źródło