Sua configuração é um pouco anormal. Normalmente, você adicionaria seu nome de usuário a sudoers e limitaria os aplicativos que podem ser executados dessa maneira, se necessário. Sem saber mais detalhes, não vejo nenhum benefício em introduzir uma terceira conta. Apenas introduz mais indireção, que é o que você está encontrando agora.
A primeira senha que você digita é se tornar o sudo-user. Você não pode evitar isso - você está trocando de usuários. Aqui estão algumas soluções malucas que você não deve usar.
- Você pode definir uma senha vazia para o usuário simplificar o login, mas isso seria um risco de segurança insano . Não faça isso.
- Você pode automatizar o login com
expect
e uma senha codificada. Isso não é mais seguro do que a sugestão anterior. Não faça isso. - Você poderia usar o ssh. Você criaria uma chave ssh como sudo-user, copia-a para o diretório .ssh do seu usuário, permite-a para seu usuário, anexa-a ao arquivo .ssh / authorized_keys do sudoso e usa:
ssh -i .ssh/sudouser_id_rsa sudouser@localhost <command>
. Pode funcionar, mas é uma loucura.
A segunda senha pode ser facilmente removida editando o arquivo sudoers com visudo
e definindo o sudouser como NOPASSWD. Esta é uma operação mais comum. Você pode até mesmo limitar os comandos que não exigem uma senha, o que é obviamente recomendado se você pretende executar apenas alguns comandos dessa maneira. Note, no entanto, que a menos que este usuário do sudo seja tratado muito seriamente, ter uma política NOPASSWD não é uma boa idéia. De um modo geral, não é uma boa ideia, independentemente.
Uma configuração que pode executar todos os comandos sem um prompt de senha seria semelhante a:
sudouser ALL= NOPASSWD: ALL
Conclusão: não vejo por que você está usando essa configuração de três contas. Definir isso para um lado, em termos de dar a você o que você pediu, permitindo que o usuário sudo execute certos comandos sem ser solicitado por uma senha é a rota mais sensata.
Você precisa ser cuidadoso - isso cria uma configuração menos segura.
Como um aparte, é tecnicamente possível obter uma solução de autenticação zero em suas diretrizes, usando a autenticação baseada em chave ssh e NOPASSWD para o usuário sudo, para que seus comandos fiquem parecidos com:
ssh -i .ssh/sudouser_id_rsa sudouser@localhost sudo whatever_i_like
Isso é obviamente muito além da insegurança - isso é simplesmente aberto. Eu não deveria precisar dizer isso, mas não faça isso.