Как добавить пользователя в группу в командной строке?

15

С Linux / Unix я могу useradd -G developers vivekдобавить vivek в группу разработчиков. Как я могу сделать то же самое с Mac OS X?

Тогда как я могу проверить, есть ли vivek в группе разработчиков?

prosseek
источник
Нет, это не дубликат. Связанный «дубликат» о создании пользователя. Этот вопрос касается управления группами, которые есть у существующего пользователя.
JL Peyret

Ответы:

12

Я использовал этот однострочник:

sudo dscl localhost -append /Local/Default/Groups/thegroupname GroupMembership theusername
hotpaw2
источник
30

Чтобы добавить пользователя в группу:

dseditgroup -o edit -a vivek -t user developers

(Примечание: вы также можете сделать это, dsclкак в ответе @hobs, но вам действительно следует добавить короткое имя пользователя в список GroupMembership, а также добавить GeneratedUID пользователя в список GroupMembers. dseditgroupДелает оба с одной операцией.)

Чтобы проверить членство:

dseditgroup -o checkmember -m vivek developers

Или:

dsmemberutil checkmembership -U vivek -G developers

Чтобы удалить пользователя из группы:

dseditgroup -o edit -d vivek -t user developers

(Опять же, вы можете сделать это с помощью dscl, но нужно удалить пользователя из GroupMembership и GroupMembers. dseditgroupДелает оба.)

Гордон Дэвиссон
источник
Подтверждено. dscl добавляет только без проверки пользователя уже в группе. это просто добавляет. & это может создать двойное членство для одного и того же пользователя в группе.
risyasin
Хорошо, это расстраивает. Когда я пытаюсь использовать первую команду, она говорит: «Необходимо указать имя пользователя и пароль». Когда я использую «-u michael», страница руководства говорит, что она должна запросить у меня пароль, но вместо этого она снова печатает предыдущее сообщение!
Майкл
@ Майкл, если вы укажете пользователя с правами администратора -u, он должен запросить пароль. Какую версию OS X вы используете? Кроме того, попробуйте с sudo(то есть sudo dseditgroup -o ...), и это должно работать.
Гордон Дэвиссон
dseditgroup -o edit -a vivek -t user developersэто ключ. dseditgroup -o edit -a vivek -t developersdseditgroup -o edit -a vivek -t user developers
Многие
8

Два способа: из терминала

Здесь все должно быть сделано в командной строке. Сначала запустите dscl следующим образом:

$ dscl localhost

Затем перейдите к узлу Группы:

CD / Local / Default / Группы

Вы можете увидеть все группы, используя ls. Найдя интересующую вас группу, вы можете просмотреть все ее свойства с помощью имени группы cat. Когда вы будете готовы добавить пользователя (имя пользователя) в группу (имя группы), используйте следующую команду:

добавить имя группы GroupMembership имя пользователя

Если вы хотите удалить участника из группы, используйте следующую команду (будьте осторожны!):

удалить имя группы Имя пользователя группы

Когда вы закончите со своими изменениями, выйдите из dscl, набрав exit.

И яблоко официальным способом:

Выберите меню «Apple»> «Системные настройки» и нажмите «Аккаунты». Открыть настройки учетных записей Шаг 2

Если панель настроек заблокирована, щелкните значок блокировки и введите имя и пароль администратора. Шаг 3

Нажмите кнопку «Добавить» (+), расположенную под списком учетных записей, чтобы создать новую учетную запись. Шаг 4

Выберите группу во всплывающем меню «Новая учетная запись». Шаг 5

Введите имя для группы, а затем нажмите «Создать группу». Шаг 6

Установите флажки по учетным записям, чтобы стать участниками группы.

ConstantineK
источник