Como adicionar usuário a um grupo na linha de comando?

15

No Linux / Unix, posso useradd -G developers vivekadicionar o vivek ao grupo de desenvolvedores. Como posso fazer a mesma coisa com o Mac OS X?

Então, como verifico se o vivek está no grupo de desenvolvedores?

prosseek
fonte
Não, não é uma duplicata. O "duplicado" vinculado é sobre a criação de um usuário. Esta pergunta é sobre como gerenciar os grupos que um usuário existente possui.
JL Peyret #

Respostas:

12

Eu usei este one-liner:

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

Para adicionar um usuário a um grupo:

dseditgroup -o edit -a vivek -t user developers

(Nota: você também pode fazer isso com dscla resposta @hobs ', mas você realmente deve adicionar o nome abreviado do usuário à lista GroupMembership e também adicionar o GeneratedUID do usuário à lista GroupMembers. dseditgroupFaz ambos com uma única operação.)

Para verificar a associação:

dseditgroup -o checkmember -m vivek developers

Ou:

dsmemberutil checkmembership -U vivek -G developers

Para remover um usuário de um grupo:

dseditgroup -o edit -d vivek -t user developers

(Novamente, você pode fazer isso com dscl, mas precisa remover o usuário do GroupMembership e GroupMembership. dseditgroupFaz ambos.)

Gordon Davisson
fonte
Confirmado. O dscl adiciona apenas sem verificar se o usuário já está no grupo. apenas adiciona. & pode criar associação duplicada para o mesmo usuário no grupo.
risyasin
Ok, isso é frustrante. Quando tento usar o primeiro comando, ele diz "Nome de usuário e senha devem ser fornecidos". Quando uso "-u michael", a página de manual diz que ela deve solicitar uma senha, mas imprime a mensagem anterior novamente!
Michael
@ Michael, se você especificar um usuário administrador -u, ele deverá solicitar a senha. Qual versão do OS X você está usando? Além disso, tente com sudo(ie sudo dseditgroup -o ...) e isso deve funcionar.
Gordon Davisson
dseditgroup -o edit -a vivek -t user developersÉ a chave. Muitas pessoas sugerem dseditgroup -o edit -a vivek -t developersmas apenas dseditgroup -o edit -a vivek -t user developersé trabalhado
Lingasamy Sakthivel
8

Duas maneiras: Do terminal

Tudo aqui deve ser feito na linha de comando Primeiro inicie o dscl assim:

$ dscl localhost

Em seguida, cd para o nó Grupos:

cd / Local / Padrão / Grupos

Você pode ver todos os grupos usando ls. Depois de encontrar o grupo no qual você está interessado, é possível visualizar todas as suas propriedades com o nome do grupo de gatos. Quando você estiver pronto para adicionar um usuário (nome de usuário) ao grupo (nome do grupo), use o seguinte comando:

acrescentar nome do grupo Nome de usuário do GroupMembership

Se você deseja remover um membro de um grupo, use o seguinte comando (cuidado!):

excluir nome do grupo Nome de usuário do GroupMembership

Quando terminar as alterações, saia do dscl digitando exit.

E a maneira oficial da apple:

Escolha menu Apple> Preferências do Sistema e clique em Contas. Preferências de Contas abertas Etapa 2

Se o painel de preferências estiver bloqueado, clique no ícone de cadeado e digite um nome e uma senha de administrador. etapa 3

Clique no botão Adicionar (+), localizado abaixo da lista de contas, para criar uma nova conta. Passo 4

Selecione um grupo no menu pop-up Nova conta. Etapa 5

Digite um nome para o grupo e clique em Criar Grupo. Etapa 6

Marque as caixas de seleção pelas contas para serem membros do grupo.

ConstantineK
fonte