SLES12: 특정 사용자로 프로세스를 실행하는 방법은 무엇입니까?

SLES12: 특정 사용자로 프로세스를 실행하는 방법은 무엇입니까?

특정 사용자를 대상으로 프로세스를 실행하고 싶습니다.

RHEL 7에서는 다음을 사용하여 이를 달성할 수 있습니다.

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

SLES12에서 동일한 동작을 달성하려면 어떻게 해야 합니까? /etc/rc.d/init.d/functionsSLES12에서는 기본적으로 기능을 사용할 수 없습니다.

답변1

SUSE에서는 LSB start_daemon을 사용할 것으로 예상합니다. (https://en.opensuse.org/openSUSE:Packaging_init_scripts).
하지만 시스템화 시대에도 계속 존재할지, 아니면 곧 단계적으로 폐지될지는 확실하지 않습니다.
물론, systemd 시스템에서 권장되는 접근 방식은 systemd 단위를 생성하는 것입니다...

runuser그렇지 않은 경우 sudo 또는 sudo와 같은 기본 도구를 사용하십시오 su. 이는 명령줄 실행 권한이 있는 모든 사용자로 호출할 수 있다는 점에서 편리합니다.
이러한 래퍼에서 프로그램을 배경화하고 분리합니다(또는 실행). nohup의 도움이 필요할 수 있습니다.
이는 표준을 더 잘 준수하며 더 이상 사용되지 않는 init 시스템 인프라와 결합되지 않습니다.

관련 정보