Linux

將 /etc/environment 變數保留給非互動式使用者

  • November 15, 2017

測試作業系統: RHEL7

所需作業系統:RHEL & Derivatives & 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 使用者辨識我的環境變數?

您可以在 systemd 單元中使用EnvironmentFile行。

例如

EnvironmentFile=/etc/environment

Systemd 然後將讀取您的文件並將變數從文件注入您的程序環境。

如果您只需要為此系統單元設置單個環境變數,只需使用

Environment=VERBOSITY_LEVEL=1

引用自:https://serverfault.com/questions/883636