Desenvolvendo e implementando aplicativos que serão executados como root usando o setuid?

1

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?

Isocianato de alilo
fonte

Respostas:

1

Um aplicativo que precisa ser executado como root deve ser instalado por um administrador com acesso root. Isso pode ser feito usando escalonamento de privilégios (por exemplo, via sudoou equivalente).

A melhor maneira de implantar o aplicativo depende de vários fatores, mas é provavelmente o melhor feito por meio do gerenciador de pacotes principal da distribuição. Isso pode significar fornecer um arquivo RPM para download ou pode significar adicionar um pacote a um repositório acessível pela Internet.

RedGrittyBrick
fonte