Apenas para voltar ao método sudoers, acho que você estava quase lá antes de desistir. Analisando seus comentários mais recentes, gostaria de abordar algo que provavelmente consertará as coisas para você:
Se você executar um script como root, não precisará chamar o sudo de dentro dele.
Eu tenho um script como este:
#! /bin/bash
echo $USER
whoami
Se eu executar sudo ./myscript
, vejo root
retornado para ambos. A sessão em que o script está sendo executado é um shell raiz.
Em suma, isso significa que tudo o que você faz no seu script já tem permissões de root. Você não precisa chamar sudo
(não que isso deva doer - root
normalmente tem sudo
permissões).
Portanto, escreva seu script, chown
para root
e chmod
para 700
(para que somente o root possa executá-lo, lê-lo ou editá-lo) e permitir que seu usuário o execute através de sudoers. Isso deve funcionar.
Se não estiver funcionando, provavelmente será um problema maior com o script, não com a estrutura de permissões. Eu sugiro dar um usuário sudo
completo (adicionando ao grupo de administração é a maneira mais fácil) e, em seguida, executando o script.