다른 사용자로 서비스를 시작하는 가장 좋은 방법은 무엇입니까?

다른 사용자로 서비스를 시작하는 가장 좋은 방법은 무엇입니까?

이 작업을 수행하기 위해 RHEL 6.8을 실행하고 있습니다. 내 목표는 다른 사용자(Java 애플리케이션)로 실행되는 프로세스를 시작하는 서비스를 만드는 것입니다. 내가 겪고 있는 문제는 다른 사용자로 이 프로세스를 시작할 때마다 모든 환경 변수에 해당 사용자의 환경 변수가 포함되어 있지 않다는 것입니다.

사용자 foo로 로그인하면 일련의 환경 변수가 제공됩니다. 루트로서 두 번째 세트를 얻었습니다. 이렇게 하면 # sudo -E -u foo env완전한 세 번째 변수 세트를 얻게 됩니다.

gnome-terminal을 사용하여 동일한 애플리케이션을 실행할 때마다 정상적으로 작동합니다. 모든 환경 변수는 그대로 포함됩니다. 제 질문은 런레벨 3, 4, 5에서 프로그램을 서비스로 실행할 때 동일한 환경 변수를 어떻게 포함합니까?입니다.

스크립트 자체에서 이러한 변수를 하드코딩하는 것을 피하고 싶습니다.

관련 정보