시스템 단위 파일의 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.

내 유닛 파일에 뭔가 잘못된 것이 있나요? 아니면 문서를 잘못 읽었나요?

관련 정보