Eu quero adicionar o Usuário Apache (www-data) para o audio grupo. Eu li a página do homem para useradd, mas não estou tendo sorte. Estou executando o xubuntu 11.10. Aqui está o que estou fazendo:
$ sudo useradd -G audio www-datauseradd: user 'www-data' already exists
Se eu deixar de fora o -G opção, bash, imprime as informações de Ajuda para useradd:
$ sudo useradd audio www-dataUsage: useradd [options] LOGINOptions: -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.
O useradd o comando tentará adicionar um novo usuário. Como seu usuário já existe, isso não é o que você deseja.
Em vez disso: para modificar um usuário existente, como adicionar esse usuário a um novo grupo, use o usermod comando.
Experimentar:
sudo usermod -a -G groupName userName
O -a (acrescentar) switch é essencial. Caso contrário, o Usuário será removido de qualquer grupo, não na lista.
O -G o switch leva uma lista (separada por vírgulas) de grupos adicionais para atribuir o usuário.
Em geral (para a GUI ou para processos já em execução, etc.), usuario será necessário sair e fazer login novamente para ver seu novo grupo adicionado. Para a sessão shell atual, você pode usar newgrp:
Estou postando isso como uma resposta porque não tenho reputação suficiente para comentar. Como @dpendolino mencionou, para que os efeitos deste comando persistam:
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 ao grupo imediatamente (e você tem o correto sudo privilégios) eu encontrei este work-around:
$ sudo su -# su [userName]$ groups
Explicacao:
sudo su - vai lhe dar uma casca de raiz
su [userName] retorna a um shell com seu usuário
groups quando executar agora irá mostrar o grupo que você adicionou com o usermod -aG comando
No meu caso, estava tentando adicionar o grupo 'docker' ao meu usuário
No Ubuntu, desde fazendo login como root não está habilitado, usuários no sudo o grupo pode elevar privilégios para determinados comandos restritos. Qualquer comando restrito deve ser prepended com sudo para elevar o privilégio.
sudo usermod -a -G grupousuario
irá adicionar o usuário existente user para um grupo suplementar chamado group. O grupo principal do usuário permanecerá inalterado.
Para adicionar permanentemente um usuário a um grupo, execute este comando:
sudo usermod -a -G <groupname> <username>
Em seguida, faça logout e faça login novamente (ou reinicie, se necessário).
Explicacao:
O usermod comando irá modificar o /etc/group arquivo para listar o nome de usuário especificado na linha relevante para esse grupo. Se você correr grep <groupname> /etc/group, você deve ver seu nome de usuário na saída.
No Linux, cada processo é atribuído a um usuário e grupos, e todos os processos filhos herdam o Usuário e os grupos do processo pai. Portanto, para que essa alteração entre em vigor e propogate, você precisa fazer logout e fazer login novamente (em que ponto /etc/group é lido e usado). No Wayland, descobri que uma reinicialização completa é necessária.
Se você executar o comando groups, você pode ver se o processo atual tem os grupos esperados ou não.