Permitindo que um usuário use o sudo sem uma senha

16

Em um ambiente de VM sandbox, eu tenho uma configuração do Ubuntu Linux que é firewall e não pode ser acessada de fora do sistema local. Portanto, nessa VM, eu gostaria de dar ao usuário administrativo (que eu configurei) a capacidade de executar qualquer coisa com o sudo e não precisar de uma senha.

Embora eu saiba que isso não é seguro, essa VM não está ligada o tempo todo e exige que minha senha pessoal seja executada. Portanto, mesmo que isso não seja "seguro", existe uma maneira de obter a funcionalidade desejada?

Thomas Ward
fonte

Respostas:

23

De homens que sofrem :

   NOPASSWD and PASSWD

   By default, sudo requires that a user authenticate him or herself
   before running a command.  This behavior can be modified via the
   NOPASSWD tag.  Like a Runas_Spec, the NOPASSWD tag sets a default for
   the commands that follow it in the Cmnd_Spec_List.  Conversely, the
   PASSWD tag can be used to reverse things.  For example:

    ray  rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

   would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm
   as root on the machine rushmore without authenticating himself.

Uma outra tag é ALL, para permitir que o raio do usuário execute qualquer comando em qualquer host sem senha, você pode usar:

ray ALL= NOPASSWD: ALL
Ulrich Dangel
fonte
2
O arquivo de configuração que esta resposta está descrevendo é /etc/sudoers. Você não edita isso como um arquivo de configuração normal, mas deve usar o visudocomando (como root).
paulhauner
1

Como você mencionou, é uma má idéia desativar o prompt de senha, a menos que o sistema seja executado em um ambiente seguro específico.

Uma solução possível é esse one-liner que acho mais fácil de lembrar do que a opção NOPASSWD. Obtenha privilégios administrativos e execute

$ visudo

e adicione a seguinte linha

Padrões: nome de usuário !

Isso desativará totalmente o prompt de senha para um usuário específico.

Christian K
fonte