Você pode configurar o sudo para permitir que você execute esse comando sem inserir sua senha. Eu recomendaria normalmente contra isso, mas, novamente, eu recomendo não executar aplicativos de raiz automaticamente (a menos que eles são root setuid e devidamente permissões / segurança gerenciada), e ei é a sua máquina. Essa técnica é especialmente útil se você precisar de um comando sudo para ser executado, digamos, em cada login. (Um cronjob de inicialização faz sentido se for necessário apenas na inicialização, eu concordo).
Você pode fazer isso de duas maneiras:
- Adicione uma entrada apropriada em
/etc/sudoers
, o arquivo de configuração do sudo, que é editado executando visudo
como raiz (ou por meio do sudo).
-
(RECOMMENDED) Crie um arquivo em
/etc/sudoers.d
com suas alterações de configuração. O arquivo /etc/sudoers
deve conter a diretiva #includedir /etc/sudoers.d
na parte inferior, o que fará com que ele leia arquivos neste diretório como configurações adicionais. (Se isso não acontecer, essa opção 2 não funcionará.)
De qualquer forma, o /etc/sudoers
existente tem uma explicação da sintaxe de configuração, mas é um pouco longo e você não precisa se preocupar muito com qualquer configuração existente. (Há também uma página man, man 5 sudoers
.)
O que você precisa fazer é escrever uma linha de especificação do usuário, permitindo que você execute um comando específico sem digitar sua senha.
Conforme a observação dos comentários do arquivo, as especificações do usuário têm esse formato básico:
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
E existem alguns exemplos da sintaxe para certos tipos de configuração. Para realizar o que você precisa, a especificação do usuário é:
username ALL = NOPASSWD: /path/to/command
(Substitua "username" e "/ path / to / command" pelos valores apropriados; "ALL" e "NOPASSWD" são literais.)
Observe que você deve sempre usar o caminho completo para o comando ambos na configuração dos sudoers e ao iniciá-lo automaticamente. Isso ajuda a garantir que a execução do programa seja a que você espera, e não que algum outro programa (potencialmente malicioso) assuma o seu lugar devido ao $PATH
de invasão. Esse conselho também se aplica às entradas root crontab ou a qualquer outro método de conceder automaticamente permissões de root.