![在 systemd 单元文件的 LoadCredential 的路径部分中使用 env var](https://linux22.com/image/225361/%E5%9C%A8%20systemd%20%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6%E7%9A%84%20LoadCredential%20%E7%9A%84%E8%B7%AF%E5%BE%84%E9%83%A8%E5%88%86%E4%B8%AD%E4%BD%BF%E7%94%A8%20env%20var.png)
我正在创建一个我想使用 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
。
我在我的单元文件中做错了什么或者我误读了文档吗?