SLES12: Como executar um processo com um usuário específico?

SLES12: Como executar um processo com um usuário específico?

Quero executar um processo com um usuário específico.

No RHEL 7, posso fazer isso com:

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

Como posso conseguir o mesmo comportamento no SLES12? O /etc/rc.d/init.d/functionsnão está disponível no SLES12 pronto para uso.

Responder1

SUSE deseja que você use LSB start_daemon. (https://en.opensuse.org/openSUSE:Packaging_init_scripts).
Mas não tenho certeza se isso continuará nos tempos do sistema ou se está prestes a ser eliminado.
É claro que a maneira recomendada em sistemas systemd é criar uma unidade systemd ...

Caso contrário, use as ferramentas padrão como runuserou sumesmo sudo, que tem a conveniência de poder chamá-lo como qualquer usuário com permissão para executar essa linha de comando.
Antecedentes e desanexe seu programa dentro desses wrappers (ou execute-o). Possivelmente com ajuda do nohup.
Isso está mais em conformidade com os padrões e não está acoplado a uma infraestrutura de sistema init obsoleta.

informação relacionada