La mejor práctica para ejecutar el servicio Linux como un usuario diferente

Servicios predeterminados para comenzar comoroot en el momento del arranque en mi caja RHEL. Si recuerdo correctamente, lo mismo es cierto para otras distribuciones de Linux que usan los scripts de inicio en/etc/init.d.

¿Cuál crees que es la mejor manera de ejecutar los procesos como un usuario (estático) de mi elección?

El único método al que había llegado era usar algo como:

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

Pero esto parece un poco desordenado ...

¿Hay algo de magia escondida que proporcione un mecanismo fácil para iniciar automáticamente los servicios como otros usuarios no root?

EDITAR: Debería haber dicho que los procesos que estoy iniciando en esta instancia son scripts Python o programas Java. Prefiero no escribir un contenedor nativo alrededor de ellos, así que desafortunadamente no puedo llamarsetuid () comoNegro sugiere.

Respuestas a la pregunta(8)

Su respuesta a la pregunta