在 systemd 单元文件的 LoadCredential 的路径部分中使用 env var

在 systemd 单元文件的 LoadCredential 的路径部分中使用 env var

我正在创建一个我想使用 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

我在我的单元文件中做错了什么或者我误读了文档吗?

相关内容