我正在创建一个我想使用 systemd 在 Ubuntu 下运行的服务。对于此服务,我需要使用以下命令加载凭据LoadCredential=
systemd 的选项。这适用于以下单元文件选项:
[Service]
LoadCredential=clientkey:/etc/test/test.key
ExecStart=/home/user/test.sh
现在我想将密钥文件的位置指定为环境变量,我通过EnvironmentFile=
选项。阅读该选项的文档,EnvironmentFile=
它说环境变量也可以在单元文件中使用。所以我的理解是以下应该有效:
# .conf file
CLIENT_KEY_FILE=/etc/test/test.key
# .unit file
[Service]
Type=simple
EnvironmentFile=/etc/test/test.conf
LoadCredential=clientkey:${CLIENT_KEY_FILE}
ExecStart=/home/user/test.sh
但这是行不通的。尝试阅读clientkey
我得到的凭证No such file or directory
。
我在我的单元文件中做错了什么或者我误读了文档吗?