Como sugerido pelo @ Xen2050, eu temporariamente me dei permissão para executar o comando como superusuário sem autenticar.
Eu faço isso adicionando um arquivo no diretório /etc/sudoers.d
com a diretiva NOPASSWD
. Para ser seguro, eu uso visudo
, então eu tenho que usar um script ed em um aqui-doc em vez de um aqui-doc diretamente. Depois de executar o comando, eu apago o arquivo.
#!/bin/bash
EDITOR=ed visudo -f /etc/sudoers.d/[file] << LF
a
$SUDO_USER $(hostname) = NOPASSWD: [command]
.
wq
LF
sudo -iu "$SUDO_USER" bash << LF
sudo [command]
LF
rm /etc/sudoers.d/[file]
Observe que [command]
no script ed deve incluir o caminho completo do comando. Eu nomeei [file]
após o comando. No meu caso, eu estava executando o instalador do TeX Live, install-tl
, então escolhi isso como o nome do arquivo.