Como posso adicionar um novo usuário como sudoer usando a linha de comando?

756

Depois de adicionar um usuário usando adduser , não consigo vê-lo via Sistema > Administração > Usuários e Grupos , a menos que eu efetue logout e faça login novamente. Isso é normal?

Além disso, posso definir um usuário recém-adicionado como sudo er ou preciso alterá-lo somente depois de adicioná-lo? Como posso fazer isso através do shell?

Finalmente, posso deletar o usuário original que foi criado na instalação inicial do Ubuntu, ou esse usuário é de alguma forma 'especial'?

    
por David B 15.10.2010 / 14:02

7 respostas

946

Apenas adicione o usuário ao grupo sudo :

sudo adduser <username> sudo

A alteração entrará em vigor na próxima vez que o usuário fizer login.

Isso funciona porque /etc/sudoers está pré-configurado para conceder permissões a todos os membros desse grupo (você não deve fazer nenhuma alteração nisso):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Desde que você tenha acesso a um usuário que esteja nos mesmos grupos que seu usuário "original", você poderá excluir o antigo.

Realisticamente, há também outros grupos dos quais o novo usuário deve ser um membro. Se você definir o tipo de conta de um usuário como Administrador nas configurações do usuário, ele será colocado em pelo menos todos esses grupos:

adm sudo lpadmin sambashare

Como a configuração do seu sistema pode variar, sugiro dar uma olhada na saída de groups <username> para ver quais grupos estão normalmente em uso.

    
por ændrük 15.10.2010 / 14:35
167

eu fiz

sudo usermod -a -G sudo <username>

como recomendado aqui .

    
por Leszek 21.11.2013 / 15:25
68

Abra o arquivo sudoers: sudo visudo abrirá o arquivo /etc/sudoers no editor definido em $EDITOR (provavelmente GNU nano - defina a variável se não for o que você deseja, por exemplo, export EDITOR="nano" e tente sudo visudo novamente.

Adicione a linha abaixo ao final do arquivo.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Em seguida, execute WriteOut com Ctrl + O . O editor irá pedir-lhe o nome do arquivo para escrever. O padrão será um arquivo temporário usado por visudo para verificar erros de sintaxe antes de salvar no arquivo sudoers real. Pressione Enter para aceitá-lo. Saia do editor nano com Ctrl + X .

Feito!

    
por Mithun Sreedharan 16.03.2012 / 05:53
28

Uma coisa que tenho que acrescentar é que tenho certeza que muita gente não entende:

Depois de ter feito um adduser "username" , você ainda pode voltar e fazer um adduser "username" sudo , e ele adicionará esse usuário ao grupo corretamente.

Na verdade, não funcionará na primeira vez como sudo adduser username sudo . Isso lhe dará um erro. O que, em resumo, significa que você deve primeiro criar a conta de usuário antes de poder adicioná-la a um grupo.

    
por TaunT406 12.12.2013 / 17:52
10

Todos os membros do grupo admin , no Ubuntu, por padrão, estão autorizados a usar sudo, então a maneira mais fácil é adicionar a conta de usuário ao grupo admin .

Se você não quiser dar à conta de usuário acesso root completo, você precisa editar o arquivo / etc / sudoer com visudo (garante que você não tenha nenhum erro de sintaxe no arquivo e perca a capacidade sudo) de uma maneira que você especifique quais comandos esse usuário (ou um novo grupo) pode executar como root.

O manual do sudoer lhe dará mais informações sobre isso. Você pode especificar quais comandos são permitidos por um usuário / grupo em particular para serem executados como root.

    
por txwikinger 15.10.2010 / 14:34
8

no CentOS, eu faço como root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers
    
por jowan sebastian 03.03.2016 / 20:03
6

O snippet a seguir concede acesso root ao nome de usuário sem fazer login explicitamente como root.

Certifique-se de que o usuário seja adicionado ao grupo sudo primeiro. Testado no Ubuntu 16.04.1 LTS.

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"
    
por Sandeep 29.12.2016 / 15:26