Como adicionar usuário existente a um grupo existente?

548

Eu quero adicionar o usuário do Apache ( www-data ) ao grupo audio . Eu li a man page para useradd , mas não estou tendo sorte. Estou executando o xubuntu 11.10. Veja o que estou fazendo:

$ sudo useradd -G audio www-data
useradd: user 'www-data' already exists

Se eu deixar de fora a opção -G , bash, imprime as informações de ajuda de useradd :

$ sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

Não está claro para mim na página de manual quais opções devo usar para fazer isso funcionar.

    
por Sparky1 15.11.2011 / 19:21

6 respostas

849

O comando useradd tentará adicionar um novo usuário. Como o seu usuário já existe, não é isso que você quer.

Em vez disso: para modificar um usuário existente, como adicionar esse usuário a um novo grupo, use o usermod comando.

Tente isto:

sudo usermod -a -G groupName userName

O usuário precisará sair e fazer login novamente para ver o novo grupo adicionado.

  • A opção -a (append) é essencial. Caso contrário, o usuário será removido de todos os grupos, não da lista.

  • A opção -G usa uma lista (separada por vírgulas) de grupos adicionais para atribuir o usuário.

por dpendolino 15.11.2011 / 19:33
185

Adicionando um usuário a um grupo:

sudo adduser user group

Removendo um usuário de um grupo:

sudo deluser user group
    
por Bai 12.01.2012 / 14:09
44

Depois de adicionar um usuário existente:

usermod -a -G group user  

Você pode precisar sair e fazer login para obter as permissões de grupos de /etc/group .

    
por Amos Folarin 22.02.2013 / 18:16
24

Eu normalmente uso

sudo gpasswd -a myuser mygroup
    
por enzotib 15.11.2011 / 19:47
4

No Ubuntu, como efetuando login como root não está ativado , os usuários do grupo sudo podem elevar privilégios para determinados comandos restritos. Qualquer comando restrito deve ser anexado com sudo para elevar o privilégio.

sudo usermod -a -G group user

adicionará o usuário existente user a um grupo suplementar chamado group . O grupo principal do usuário permanecerá inalterado.

    
por Debra Butcher McCusker 25.02.2016 / 22:58
1

Estou postando isso como uma resposta porque não tenho reputação suficiente para comentar. Como mencionado no @dpendolino, para persistir os efeitos deste comando:

sudo usermod -a -G groupName userName

... você precisa fazer logout / login novamente.

No entanto, se você precisar de um atalho para começar a usar sua nova associação de grupo imediatamente (e tiver os privilégios sudo corretos), encontrei esta solução alternativa:

$ sudo su -
# su [userName]
$ groups

Explicação:

  • sudo su - lhe dará um shell de root
  • su [userName] retorna você para um shell com seu usuário
  • groups quando executado agora mostrará o grupo que você adicionou com o comando usermod -aG

No meu caso, eu estava tentando adicionar o grupo "docker" ao meu usuário

Antes:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

Depois:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker
    
por bluemorpho 25.03.2018 / 19:49

Tags