Estou escrevendo um daemon de servidor HTTP em C (existem razões para isso), gerenciando-o com o arquivo de unidade systemd.
Estou reescrevendo um aplicativo projetado há 20 anos, por volta de 1995. E o sistema que eles usam é chroot e depois setuid, e o procedimento padrão.
Agora, em meu trabalho anterior, a política usual era que você nunca executasse nenhum processo como root. Você cria um usuário/grupo para ele e executa a partir daí. É claro que o sistema executou algumas coisas como root, mas poderíamos realizar todo o processamento da lógica de negócios sem ser root.
Agora, para o daemon HTTP, posso executá-lo sem root se não fizer chroot dentro do aplicativo. Portanto, não é mais seguro para o aplicativo nunca ser executado como root?
Não é mais seguro executá-lo como mydaemon-user desde o início? Em vez de iniciá-lo com root, chrooting e setuid para mydaemon-user?