
Em um ambiente sandbox VM, tenho uma configuração do Ubuntu Linux que é protegida por firewall e não pode ser acessada de fora do sistema local. Portanto, nessa VM, gostaria de dar ao usuário administrativo (que eu configurei) a capacidade de executar qualquer coisa com o sudo e não precisar de senha.
Embora eu saiba que isso não é seguro, esta VM não fica ligada o tempo todo e requer minha senha pessoal para ser executada. Portanto, mesmo que isso não seja "seguro", existe uma maneira de obter a funcionalidade desejada?
Responder1
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 usuário ray execute qualquer comando em qualquer host sem senha, você pode usar:
ray ALL= NOPASSWD: ALL
Responder2
Como você mencionou, é uma má ideia desabilitar o prompt de senha, a menos que o sistema seja executado em um ambiente seguro específico.
Uma solução possível é esta linha única que considero 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 !autenticar
Isso desativará totalmente a solicitação de senha para um usuário específico.