我有以下 systemd 配置文件salt_server.service
[Unit]
Description=Salt Sensor Service
After=mysql.service
StartLimitBurst=5
StartLimitIntervalSec=10
[Service]
SyslogIdentifier=salt_sensor_service
Type=simple
Restart=always
RestartSec=1
User=salty
LoadCredential=credentials.json:/home/salty/private/salty_credentials.json
ExecStart=/usr/local/bin/salt_server -credentials=${CREDENTIALS_DIRECTORY}/credentials.json -log_level=debug
StandardOutput=syslog
StandardError=syslog
ProtectSystem=strict
ProtectHome=true
PrivateUsers=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target
该行产生的命令行ExecStart
是
/usr/local/bin/salt_server -credentials=/credentials.json -log_level=debug
即 是${CREDENTIALS_DIRECTORY}
空字符串。我做错了什么?我尝试了Environment=
和的各种组合,PassEnvironment=
但无法使其工作。
我也尝试过$CREDENTIALS_DIRECTORY
许多其他没有希望的选择。
请注意,凭证文件和文件夹均存在且可供用户读取salty
有任何想法吗?