SLES12: ¿Cómo ejecutar un proceso con un usuario específico?

SLES12: ¿Cómo ejecutar un proceso con un usuario específico?

Quiero ejecutar un proceso con un usuario específico.

En RHEL 7, puedo hacer esto con:

source /etc/rc.d/init.d/functions
daemon --user=myuser $JAVA_HOME/bin/java -cp $appClassPath $MAIN_CLASS

¿Cómo puedo lograr el mismo comportamiento en SLES12? No está /etc/rc.d/init.d/functionsdisponible en SLES12 de fábrica.

Respuesta1

SUSE quiere que utilice LSB start_daemon. (https://en.opensuse.org/openSUSE:Packaging_init_scripts).
Pero no estoy seguro de si continuará en tiempos de systemd o si está a punto de eliminarse gradualmente.
Por supuesto, la forma recomendada en los sistemas systemd es crear una unidad systemd...

De lo contrario, utilice las herramientas predeterminadas como runusero suincluso sudo, que tiene la conveniencia de que puede llamarlo como cualquier usuario con permisos para ejecutar esa línea de comando.
Antecedentes y separe su programa dentro de estos contenedores (o ejecútelo). Posiblemente con la ayuda de nohup.
Esto se ajusta más a los estándares y no está acoplado a una infraestructura de sistema de inicio obsoleta.

información relacionada