Desenvolvendo e implementando o aplicativo que será executado como root usando o setuid?

1

Eu tenho um aplicativo que precisa ser executado com permissões de root.

Usar o bit setuid no arquivo do aplicativo parece ser uma escolha lógica. Meu entendimento do setuid é que os arquivos devem ser de propriedade do root, e só podem ser gravados pelo 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 implantaçã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?

    
por Allyl Isocyanate 07.10.2013 / 16:40

1 resposta

1

Um aplicativo que precisa ser executado como root deve ser instalado por um administrador com acesso root. Isso pode ser feito usando o escalonamento de privilégios (por exemplo, via sudo ou 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.

    
por 07.10.2013 / 17:29