Prática recomendada para executar o serviço Linux como um usuário diferente

Serviços padrão para iniciar comoroot no momento da inicialização na minha caixa RHEL. Se bem me lembro, o mesmo vale para outras distribuições Linux que usam os scripts init em/etc/init.d.

Em sua opinião, qual é a melhor maneira de executar os processos como um usuário (estático) de minha escolha?

O único método que eu tinha chegado era usar algo como:

 su my_user -c 'daemon my_cmd &>/dev/null &'

Mas isso parece um pouco desarrumado ...

Existe alguma mágica escondida que fornece um mecanismo fácil para iniciar automaticamente os serviços como outros usuários não-root?

EDITAR: Eu deveria ter dito que os processos que estou iniciando nesta instância são scripts Python ou programas Java. Prefiro não escrever um wrapper nativo em torno deles, então, infelizmente, não consigo ligarsetuid () ComoPreto sugere.

questionAnswers(8)

yourAnswerToTheQuestion