시작하려면 특정 자격 증명이 필요한 서버가 있습니다. 현재 서버는 key-value pair file
이러한 자격 증명을 읽습니다. 실제로 효과가 있는 것을 찾고 있어요피하다의 사용법 key-value pair file
.
구성 요소는 다음을 수행해야 합니다.
- 키링에 비밀번호 캐싱
- 키링의 올바른 자격 증명으로 서버를 시작합니다.
- 내 서버가 중지/종료되면 다시 시작하세요.
이 구성요소를 처음 시작하거나 다시 시작할 때 사용자에게 다른 비밀번호를 묻는 메시지가 표시될 수 있습니다. 그러나 서버 프로세스가 다시 시작되면 메시지가 표시되지 않습니다.
나는 watchdogs와 systemd에 대해 읽고 있습니다. Systemd unit files
내 요구 사항에 적합하지만 키링에 자격 증명을 저장하고 검색하는 방법을 찾을 수 없습니다.
고쳐 쓰다:systemd-ask-password
비밀번호 캐싱 에 대한 내용도 읽고 있습니다 . 그러나 비밀번호를 2.5분 동안만 캐시하는 것으로 보입니다. 장치가 중지/다시 시작될 때까지 캐시하고 싶습니다.
업데이트 2:서버란 내 서버 프로세스를 의미합니다. 컴퓨터가 다시 시작될 때 비밀번호를 묻는 메시지를 표시해도 괜찮습니다.
답변1
systemd-ask-password
키 만료를 제외하고는 원하는 대부분의 작업을 수행하는 것 같습니다 .하드코딩된2분 30초 후에 당신은 스스로 알게 됩니다:
#define KEYRING_TIMEOUT_USEC ((5 * USEC_PER_MINUTE) / 2)
한 가지 옵션은 비밀번호를 요청하는 프로그램을 직접 작성하여 이를 커널 키링에 장기간(또는 무기한) 저장하는 것입니다. systemd-ask-password
이를 시작점으로 사용할 수도 있습니다 . 직장에서 그러한 대리인에게 전화할 수 있습니다 ExecStartPre=
. (물론 가능한 옵션 중 하나는 이것을 기본 프로그램 자체에 구축하는 것입니다. 왜냐하면 암호를 얻기 위해 키링에 액세스하고 암호를 찾을 수 없으면 그 시점에서 메시지를 표시할 수 있기 때문입니다.)
또 다른 옵션은 업스트림 systemd 자체에 대한 수정을 제안하여 systemd-ask-password
기본적으로 2.5분 만료를 유지하지만 해당 만료를 조정할 수 있도록 추가 명령줄 인수를 도입하여 특정 사용 사례에 사용할 수 있도록 하는 것입니다.