開始するには、特定の資格情報を必要とするサーバーがあります。現在のサーバーは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)
1つのオプションは、パスワードを要求するプログラムを直接作成して、カーネルキーリングに長期間(または無期限に)保存することです。systemd-ask-password
これを開始点として使用することもできます。職場でそのような代理人に電話することができますExecStartPre=
。 (もちろん、可能なオプションの1つは、基本プログラム自体にこれを構築することです。なぜなら、キーリングにアクセスしてパスワードを取得し、パスワードが見つからない場合はその時点でメッセージを表示できるからです。)
別のオプションは、アップストリームsystemd自体の修正を提案し、デフォルトでsystemd-ask-password
2.5分の有効期限を維持しますが、その有効期限を調整できるように追加のコマンドライン引数を導入して、特定のユースケースに使用できるようにすることです。