以不同用户身份启动服务的最佳方式?

以不同用户身份启动服务的最佳方式?

我正在运行 RHEL 6.8 来执行此任务。我的目标是创建一个服务,该服务应该启动一个以不同用户身份运行的进程(它是一个 Java 应用程序)。我遇到的问题是,每当我以不同的用户身份启动此进程时,并非所有环境变量都包含该用户的环境变量。

作为用户 foo 登录,我获得了一组环境变量。作为root,我得到了第二套。当我这样做时,# sudo -E -u foo env我得到了完整的第三组变量。

每当我使用 gnome-terminal 运行相同的应用程序时,它都工作正常。所有环境变量都按其应有的样子包含在内。我的问题是,在运行级别 3、4 和 5 中将程序作为服务运行时如何包含相同的环境变量?

我想避免在脚本本身中对这些变量进行硬编码。

相关内容