Estou trabalhando para ajustar um script que encontrei aqui para meus próprios propósitos.
Em essência, o script verifica algumas condições e, em seguida, executa um dos dois comandos usando sudo. O comando é executado como o usuário cas
.
Como o script não será executado de forma interativa, quero garantir que os comandos sudo sejam executados sem solicitação de senha. Então, adicionei as seguintes linhas ao meu arquivo sudoers:
ALL ALL = NOPASSWD: /usr/bin/systemctl mask sleep.target suspend.target
ALL ALL = NOPASSWD: /usr/bin/systemctl unmask sleep.target suspend.target
Pelo que entendi de como o arquivo sudoers funciona, isso significa que todos os usuários têm permissão para executar os comandos /usr/bin/systemctl mask sleep.target suspend.target
e /usr/bin/systemctl unmask sleep.target suspend.target
sem solicitação de senha.
Em vez disso, o prompt de senha ainda aparece:
cas-desktop :: ~ »sudo /usr/bin/systemctl máscara sleep.target suspend.target
[sudo] senha para cas:
sudo: uma senha é necessária
Eu também tentei sem sudo:
cas-desktop :: ~ » /usr/bin/systemctl mask sleep.target suspend.target
==== AUTENTICATING FOR org.freedesktop.systemd1.manage-unit-files ====
A autenticação é necessária para gerenciar o serviço ou unidade do sistema arquivos.
Autenticando como: Cas (cas)
Senha:
Não tenho certeza do que mais fazer para que isso funcione, então se você tiver uma ideia, por favor me avise.