将 /etc/environment 变量保留给非交互式用户

将 /etc/environment 变量保留给非交互式用户

测试操作系统:RHEL7

操作系统要求:RHEL 及其衍生产品和 AIX

我有一个用户,创建如下:

sudo groupadd madt
sudo useradd -r -g madt -s /bin/false madt

该用户正在使用systemd以下服务:

[Unit]
Description=MicroStrategy Mobile Access Distribution Tool
After=syslog.target

[Service]
User=madt
ExecStart=/usr/bin/java -jar /opt/pandera/mobile-registration/mobile-access-distribution-tool-1.0.0.jar --spring.config.location=/opt/pandera/mobile-registration/
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Java 应用程序需要存在环境变量。我已设置该变量/etc/environment并确认它适用于 root 和所有其他交互式用户。

我怎样才能让 madt 用户识别我的环境变量?

答案1

您可以使用环境文件在你的 systemd 单元中设置行。

例如

EnvironmentFile=/etc/environment

然后,Systemd 将读取您的文件并将文件中的变量注入到您的程序环境中。

如果您只需要为此系统单元设置单个环境变量,则只需使用

Environment=VERBOSITY_LEVEL=1

相关内容