LUKSは初めてではないということから始めましょう。LVMを使用する場合と使用しない場合で、キースクリプトを使用してLUKSを何度も設定しました。ここで実際に何が起こっているのかわかりません。暗号化されたパーティションが1つあるシステムがあります。私のドライブは次のように構成されています。
#lsblk 名前MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0128G 0ディスク └─sda18:1 0 128G 0パーツ ├─vg0-root253:1 0 20G 0 lvm / vg─vg0-secure253:6 0 100M 0 lvm │sec─secure253:7 0 98M 0 crypt / root / secure vg─vg0-swap253:4 0 1G 0 lvm [スワップ]
私の/etc/crypttab
ファイルはこのようなものです
#LVへのパスは変更されないため、ここではUUIDは不要です 安全な/ dev / vg0 / secure none luks、keyscript = / lib / cryptsetup / scripts / insecure
私の/lib/cryptsetup/scripts/insecure
ファイルは実行可能であり、このようなものです
#!/bin/sh
# My actual file looks somewhat different because it dumps the key file with dd.
# This accomplishes virtually the same thing though.
echo -n "my-encryption-password"
update-initramfs -k all -u
crypttabを構成してキースクリプトファイルを配置した後、何度も実行しました。
私の知る限り、私のスクリプトファイルはinitrd.imgファイルにコピーされていません。ルートパーティションは暗号化されておらず、スクリプトファイルはそこから簡単にアクセスできるはずなので、私はそれについて考えましたが、initrd.imgファイルにコピーされるとは思いません。
再起動すると、システムはcrypttabからレコードを確認し、キースクリプトを使用してLUKSパーティションのロックを解除するのではなく、パスワード(私の場合、唯一のキーはランダムなビットでいっぱいのキーファイルであるため実際には存在しません)を要求します。LVMからLUKSを取り出してsda2に入れてみましたが、結果は同じでした。keyscriptが機能cryptsetup luksOpen /dev/vg0/secure secure -d - <<< "$(/lib/cryptsetup/scripts/insecure)"
するのは、チャームのように機能し、LUKSパーティションを復号化するためです。
私はこれをUbuntu 16.04.2とUbuntu Mate 16.04.2で試しましたが、同じ結果が得られました。以前は問題なくキースクリプトを使用しました。唯一の違いは、以前は/パーティションが常に暗号化されていたことです。誰かが光を当てることができれば、私はそれを感謝します。このシステムのクローン作成を計画しているため、非常に小さい暗号化されたパーティションのみが必要です。/パーティション全体を暗号化してクローンを作成する必要はありません。
アップデート2017-04-26
ログを調べたところ、意味のない次のエラーの行が見つかりました。「keyscript = / path / to / script」はいつcrypttabの不明なオプションになるのですか?
... systemd-cryptsetup [737]:不明な/ etc / crypttabオプション 'keyscript = / lib / cryptsetup / scripts / insecure'が発生しましたが、無視しました。
キックのためだけに、keyscriptオプションを削除してキーファイルを使用してみましたが、すべてうまくいきました!実際、keyfile-offsetのような他のオプションを試しましたが、それらも機能します。したがって、問題はkeyscriptオプションのどこかにあります。なぜ誰かが何か考えを持っていますか?