Por que precisamos usar sudo
para esse aplicativo?
Você pode usar um programa como shc
para "compilar" seus scripts de shell em um binário executável autônomo, que você pode apenas adicionar ao arquivo sudoers
. Ou você pode até definir o setuid
bit para que ele realmente roda como root sem precisar de sudo
.
Então, vamos tentar um exemplo:
shc -f myscript.sh -o myscript
sudo chown -R root:root myscript
sudo chmod a+x myscript
sudo chmod u+s myscript
Isso levará um script de shell e o transformará em um executável C que tenha setuid
root. Sempre que isso é chamado (com ou sem sudo
), ele deve sempre ser executado (efetivamente) como o usuário root.