LUKSパスワード待ち時間の設定方法

LUKSパスワード待ち時間の設定方法

私の/homeパーティション(Linux Debianテストでは)はLUKSで暗号化されています。

$ mount|grep home
/dev/mapper/home-crypt on /home type ext4 (rw,relatime)

以下を介して設定/etc/crypttab:

home-crypt UUID=830807e5-01fb-4d82-b2ce-c2e51b176560 none luks,timeout=180

home起動プロセス中にパーティションを復号化するためにLUKSパスワードを入力するように求められました。しかし、ヒントは他のカーネル/システムログと混在しています。

追加する方法待ち時間起動中に他のすべてのログ記録後にこのプロンプトが表示されるようにしますか?

ベストアンサー1

ロック解除およびマウントを続行する前に設定された時間待機するシステムサービスユニットを指定することで、LUKS暗号化パーティションのマウントを遅らせることができます。

  1. たとえば、カスタムシステムサービスファイルを作成し、/etc/systemd/system/delay-luks-prompt.service次のコンテンツを追加します。
[Unit]
Description=Delay for LUKS prompt
After=local-fs.target

[Service]
ExecStart=/bin/sleep 30
Type=oneshot

[Install]
WantedBy=multi-user.target

これにより30秒の遅延が発生します。

  1. このカスタムサービスを依存関係として追加して、[email protected]遅延を待つようにします。

ファイルを編集し、該当するセクションを探します。行を追加:/lib/systemd/system/[email protected][Unit]

After=delay-luks-prompt.service

セクション[Unit]は次のとおりです。

[Unit]
Description=Cryptography Setup for %I
Documentation=man:[email protected](8) man:crypttab(5)
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=cryptsetup-pre.target
After=delay-luks-prompt.service
BindsTo=dev-mapper-%i.device
...
  1. カスタムサービスを有効にして起動します。
systemctl enable delay-luks-prompt.service
systemctl start delay-luks-prompt.service
  1. initramfsを再生成します。
update-initramfs -u
  1. 再起動してテストします。

これにより、/homeパーティションのLUKSパスワードプロンプトが30秒遅れ、他のブートログが最初に表示されます。

変更する前にファイルをバックアップすることを忘れないでください

おすすめ記事