Como adiciono um usuário ao grupo "sudo"?

187

No /etc/sudoersque vejo isso:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

Então, como adiciono um usuário a esse sudogrupo?

moedor de café
fonte
Tem mais alguém aqui tentando fazer o sudo funcionar sem senha no ubuntu 17?
Adam F
@AdamF veja aqui . Da próxima vez, faça uma nova pergunta se quiser uma resposta mais rápida. ;-)
Fabby
Moedor de café: você se importaria de mudar sua aceitação para a resposta mais votada, pois essa é a melhor maneira de fazer isso? (nenhuma senha) #
Fabby

Respostas:

250
sudo usermod -aG sudo <username>

O aé muito importante. Sem ele, eles serão removidos de todos os outros grupos. Você precisará reiniciar o shell / terminal ou efetuar logout e logon novamente para que isso entre em vigor.

Veja também:

maco
fonte
Eu fiz o que você recomendou, mas o terminal me disse bash: sudo: command not found, por quê?
Teifi
@ Tiifi, isso significa que você provavelmente não está sudoinstalado ou, por algum motivo estranho, não está no seu caminho. O que acontece quando você corre which sudo?
N0pe 22/01
Novos terminais não foram suficientes. Acabou reiniciando por outro motivo e agora funciona. Provavelmente sair / entrar.
precisa saber é o seguinte
Eu sei que aé para acrescentar, mas acho que será mais útil adicionar como comportamento padrão. Criar um pseudônimo é fácil, de modo que será o caminho a ser groupadd groupacrescentado. Fiz o comando sem -a uma vez hoje, pois não me lembrava da -adiscussão.
Erm3nda
Embora este seja um fórum do Ubuntu, para o CentOS eu precisava fazer sudo usermod -aG sudo <username>. Porque não havia uma maneira fácil de descobrir isso.
akki
43

Você pode usar a GUI de gerenciamento de usuários para ela (o mesmo local em que você cria usuários) ou usar sudo adduser <username> sudona linha de comandos.

txwikinger
fonte
2
Isto também é referido na documentação do ubuntu na RootSudo ainda que eles se referem ao grupo de administração em vez do grupo sudo
icc97
8
+1: é a maneira mais fácil de lembrar, simples e intuitiva de adicionar um usuário a um grupo!
Andrea Corbellini
Isso me dá um erro dizendoUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
akki
23

Você também pode usar uma interface gráfica. Clique na engrenagem no canto superior direito do painel, selecione "Configurações do sistema" e, em seguida, "Contas do usuário"

Você precisa clicar no pequeno botão de desbloqueio para poder editar as coisas nesta janela. Em seguida, clique na conta da pessoa e selecione o menu suspenso adequado para "Tipo de conta"

insira a descrição da imagem aqui

qbi
fonte
Eu tenho o Ubuntu 10.10, mas minha interface gráfica está de alguma forma bloqueada. Ele abre, mas quando os botões são pressionados, nada acontece. Suponho que seja algo relacionado aos privilégios (na verdade, sou sudoer). Como posso resolver este problema?
Linux
Você clicou no botão 'desbloquear'?
daboross
Boa animação! Gostaria de fazer uma animação gif para mostrar novos recursos do meu aplicativo da web? Estou no Lubuntu 16.04 ...
Stephane
20

É realmente simples se você estiver usando o Unity como seu ambiente de desktop.

Se você já criou um usuário, basta alterá-lo de Padrão para Administrador . Caso contrário, verifique se você selecionou Administrador ao criar um novo.

Não se esqueça de desbloquear antes de tentar alterá-lo

insira a descrição da imagem aqui

Bruno Pereira
fonte
2
Animação GIF muito legal! +1 Como você fez isso? Movida a pergunta aqui .
hhh
2

sudo gpasswd -a $USER sudo

joschi
fonte
2

Estou atrasado para a festa, mas esta resposta pode ajudar alguém que usa o Ubuntu dentro de um contêiner Docker.

Recentemente, criei um contêiner Docker baseado no Ubuntu 16.04.1.

Por padrão, a imagem do Docker Ubuntu é uma versão simplificada do Ubuntu, que não possui a grande maioria das ferramentas comuns, inclusive sudo.

Além disso, por padrão, o usuário está conectado ao contêiner do Docker como root.

Portanto, iniciei o contêiner com o docker runcomando e instalei o pacote 'sudo':

root@default:/# apt-get install sudo

A execução do comando adduser myuser sudorelatou erro adduser: The user 'myuser' does not exist.. Depois de ler esta resposta , executei o comando primeiro para criar o usuário:

root@default:/# adduser myuser

Em seguida, execute o seguinte comando:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

O usuário myuser foi adicionado com sucesso ao grupo sudo.

Antony
fonte
1

Use usermod. Adicione a permissão sudo com o seguinte comando:

usermod -aG sudo <your username>

Observe que você precisará usar a conta root para fazer isso ou usar outra conta que tenha permissões de sudo. Se você não tiver acesso a outra conta por algum motivo e não souber a senha root, precisará de um CD ao vivo do Ubuntu (ou de outra distribuição Linux) e precisará executar o chroot no sistema de arquivos do Ubuntu e execute o comando acima de dentro do chroot.

CodeExecution
fonte
1

Veja como eu configuro um usuário não root com a imagem base de ubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

O que acontece com o código acima:

  • O usuário e o grupo foosão criados.
  • O usuário fooé adicionado ao grupo fooe ao sudo.
  • O uide gidé definido como o valor de 999.
  • O diretório inicial está definido como /home/foo.
  • O shell está definido como /bin/bash.
  • O sedcomando faz atualizações embutidas no /etc/sudoersarquivo para permitir fooe rootaos usuários acesso sem senha ao sudogrupo.
  • O sedcomando desativa a #includedirdiretiva que permitiria que qualquer arquivo nos subdiretórios substituísse essas atualizações embutidas.
Seth Bergman
fonte