O usuário no grupo sudo não pode usar o comando sudo

14

Eu tenho um usuário,, supersecretuserque está no sudogrupo, mas não tem sudoacesso. Há algo mais que precisa ser feito para conceder sudoacesso a esse usuário ?

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser é o usuário que configuramos ao instalar o Ubuntu.

Jay Mitchell
fonte
4
Efetuou supersecretuserlogoff e logon (ou pelo menos iniciou um novo shell de logon, por exemplo su - supersecretuser) desde que foi adicionado ao sudogrupo?
steeldriver 8/09/14
Quando ssh como supersecretuser, posso ver que está no sudogrupo. Há algo mais que preciso fazer para sair? Adicionado ssh no servidor para a pergunta.
Jay Mitchell
Se você tiver outro superusuário, tentarei adicionar novamente suspersecretuserao sudogrupo. sudo adduser supersecretuser sudo. Você pode ter erros como user is already in group sudo, mas vale a pena tentar.
Dan

Respostas:

8

Como sua mensagem de erro diz ao seu usuário is not in the sudoers file, por favor, verifique seu /etc/sudoersarquivo, veja se existe essa linha:

%sudo   ALL=(ALL:ALL) ALL

Se essa linha estiver faltando, os usuários do sudogrupo não serão sudoers. Edite o arquivo usandovisudo comando (verifica a sintaxe correta e bloqueia o arquivo).

Você também pode tentar adicionar uma linha personalizada como esta:

root    ALL=(ALL:ALL) ALL

Substitua rootpelo seu nome de usuário, reinicie e tente se funciona.

bfrgzju
fonte
Não consigo sudover esse arquivo para dizer que é 100% o problema. No entanto, com base em nosso script de chef que usamos em outros servidores, podemos ver que não estamos adicionando supersecretuserusuários /etc/sudoers.
Jay Mitchell
Muito obrigado pela resposta, eu tive sudoe admingravei, mas eles não foram prefixados com a %.
berezovskyi
6

De acordo com sua conversa com @steeldriver nos comentários, acho que seu usuário não está desconectado.

A maneira mais fácil de garantir que o supersecretuserlogoff foi digitado no terminal, como outro usuário,who ,.

Ao fazer isso, recebo uma saída como esta:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

Eu só me vejo. Da mesma forma, digitar wem um terminal mostra quem está conectado e o que está fazendo:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

Você pode PARAR seu outro usuário (SSU, eu o chamarei) com o seguinte comando:

pkill -STOP -u SSU

No entanto, sinceramente, a solução mais fácil seria apenas reiniciar o sistema, se possível.

Mitch
fonte
Reiniciei o servidor e não tenho sudoacesso.
Jay Mitchell
Então, você perdeu a capacidade de o usuário fazer ssh no servidor?
Mitch
Desculpe, comentário atualizado. Ainda pode ssh no servidor, apenas não o sudoacesso.
Jay Mitchell
Você pode atualizar a postagem original com o método usado para conceder acesso ao sudo ao usuário?
Mitch
supersecretuseré o usuário que configuramos ao instalar o Ubuntu.
Jay Mitchell
0

A maneira mais fácil de adicionar um supersecretuser ao grupo sufo é sudo gpasswd -a supersecretuser sudoe fazer com que o supersecretuser faça logoff / logon novamente; mas se você perdeu a capacidade de sudo, temo que você precisará reinstalar.

Tolga Ozses
fonte
-1

Depois de verificar se os privilégios de arquivo estão corretos:

-r--r----- 1 root root x x x x:x /etc/sudoers

Você provavelmente perdeu o sarquivo -bit no arquivo executável, ele deve ler:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

caso contrário: com privilégios de root, dê `

chmod u+s /usr/bin/sudo

e você deve ficar bem .. a menos que saiba que você mesmo alterou o sudoersarquivo! :)

Sapo verde
fonte
3
-1 Os problemas com as permissões de arquivo do sudobinário e da sudoersconfiguração resultam em mensagens de erro diferentes daquelas na pergunta. Eles literalmente se referem a permissões de arquivo inadequadas.
David Foerster