As alterações nos sudoers não surtem efeito. Seguindo o tutorial básico do Ubuntu

1

Estou acompanhando o tutorial sobre sudoers do Ubuntu .

Aqui está o meu arquivo /etc/sudoers exato (captura de tela em vez do bloco de código porque a formatação estava ficando confusa).

Observe as linhas na parte inferior que devem fornecer os recursos de desligamento e reinicialização do usuário deployer . O arquivo sudoers está sintaticamente bem e não salva nenhum problema.

Eu terminei minha sessão ssh e me conectei novamente.

$ whoami => deployer $ reboot => reboot: Need to be root

Qual poderia ser o problema?

Algumas ideias

  • Eu tentei reiniciar (com o sudo) e ainda não há efeito
  • Meu shell é ZSH
  • Eu prevejo que vou me chutar quando obtiver uma resposta.
por David Tuite 17.05.2014 / 02:03

1 resposta

2

As configurações que você está usando permitirão que o usuário execute sudo reboot sem digitar uma senha . Você sempre precisará executá-lo com sudo , mas o melhor que você pode obter é passwordless sudo para determinados comandos.

Isso é devido ao modo como o sistema funciona. Quando você tenta executar, por exemplo, reboot , como um usuário normal, você recebe esta mensagem:

$ reboot
reboot: must be superuser.

Isso não tem nada a ver com sudo , o comando em questão simplesmente verifica se o seu userid é 1 (o superusuário) e, se não for, não permitirá que você o execute. Você poderia configurar seu sistema para ter outro usuário como usuário1, mas isso simplesmente mudaria o nome de usuário de root e seria um grande problema sem nenhum motivo (e não o ajudaria a fazer o que você estão tentando de qualquer maneira).

Portanto, a menos que você esteja realmente logado como o usuário cujo userid é 1, você sempre terá que usar sudo para executar comandos privilegiados. A única solução seria criar um alias (ou uma função ou um script) para reboot no arquivo de configuração de shells ( ~/.bashrc , por exemplo):

alias reboot='sudo reboot'

Dessa forma, como você já definiu shutdown como sem senha em /etc/sudoers , será possível executar

$ reboot

e obtenha o resultado desejado.

    
por terdon 17.05.2014 / 02:19