システム単位ファイルのLoadCredentialパス部分にenv varを使用します。

システム単位ファイルの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

私のユニットファイルに何かが間違っていますか?それとも文書を誤って読んだのですか?

ベストアンサー1

おすすめ記事