我正在使用 RHEL 6.5,并且想要加密我的一些逻辑卷 (LVM)。为了不必多次输入密码,我想将密钥文件存储在加密的 LV 中。
例子:
/var/xxx
将被加密,并且在引导期间将询问密码。
/var/xxx/yyy
将被加密并且密钥文件将位于/var/xxx/keyfile
(为了更安全)。
这样,密码短语只需输入一次。
我的crypttab
:
LogVolXxx /dev/vg/LogVolXxx none
LogVolXxxYyy /dev/vg/LogVolXxxYyy /var/xxx/keyfile luks
我的fstab
:
[...]
/dev/mapper/vg-LogVolAaa /Aaa ext4 noatime 1 2
/dev/mapper/LogVolXxx /var/Xxx ext4 noatime 1 2
/dev/mapper/LogVolXxxYyy /var/Xxx/Yyy ext4 noatime 1 2
[...]
启动时出现问题,找不到密钥文件。我想系统正在尝试在安装设备之前对其进行解密。
我该如何处理这个问题?
答案1
最后,我听从了@frostschutz 的建议。我用过加密的LV作为钥匙 !
lvcreate -L 4M -n LogVolKey vg
cryptsetup luksFormat /dev/vg/LogVolKey
(这里我们设置全局密码)cryptsetup luksOpen /dev/vg/LogVolKey LogVolKeyDecrypted
dd if=/dev/urandom of=/dev/mapper/LogVolKeyDecrypted
cryptsetup luksFormat /dev/vg/LogVolXxx
(这里我们设置相同的密码)cryptsetup luksAddKey /dev/vg/LogVolXxx /dev/mapper/LogVolKeyDecrypted
cryptsetup luksOpen /dev/vg/LogVolXxx LogVolXxxDecrypted -d /dev/mapper/LogVolKeyDecrypted
dd if=/dev/urandom of=/dev/mapper/LogVolXxxDecrypted
mkfs.ext4 /dev/mapper/LogVolXxxDecrypted
注意:启动过程中会出现警告消息:INSECURE MODE FOR /dev/mapper/LogVolKey
。如果该组与“root”不同,则会显示此消息,在这种情况下,该组是“disk”,默认情况下,任何用户都不应属于该组,因此没有什么不安全的。
注意 2:出现第二条消息:"Warning: exhausting read requested, but key file is not a regular file, function might never return.
。事实上,解锁设备需要一些时间,但不会太多。