Eu tenho um aplicativo que precisa ser executado com permissões de root.
Usando bit setuid no arquivo de aplicativo parece ser uma escolha lógica. Meu entendimento do setuid é que os arquivos devem ser de propriedade de root, e só podem ser gravados por root, ou um usuário não confiável com permissões de gravação pode editar o arquivo e executar qualquer coisa no contexto raiz.
No entanto, isso dificulta a implementação do aplicativo, já que preciso definir o proprietário dos arquivos como raiz depois de implementado (extraído do repositório remoto do Git), algo como:
sudo chown root:root /app/rootprog
sudo chmod 6711 /app/rootprog
Existe uma maneira de evitar isso, ou uma maneira melhor de desenvolver e implantar um aplicativo que precisa ser executado como root?
fonte