我试着用Mandos自动打开一个加密的根设备。我想设置一个加密的btrfs raid 1(sda1和sdb1:LUKS)。第一个设备被正确解密,但第二个设备不会被打开。有办法做到这一点吗?
我建议您在根文件系统上(我建议在/etc/keys
中)有一个包含任何其他磁盘密码的文件,并在/etc/crypttab
的第三个字段中输入该文件名。
从Debian Stretch开始,它只起作用(tm)。这两个设备都应该列在/etc/crypttab中,并且应该设置btrfs-raid1。然后安装曼陀。确认在Debian Stretch 9.5上工作。
解决方案相对简单:
不要将磁盘添加到/etc/crypttab,而是直接将它们添加到/etc/initramfs-tools/conf.d/cryptrooot,不要忘记keyscript部分(keyscript=/lib/mandos/plugin-runner)。
/etc/initramfs-tools/conf.d/cryptroot:target=sda2_crypt,source=UUID=0f47884b-fb02-478e-b4dd-c594cf1cbbf1,key=none,rootdev,discard,keyscript=/lib/mandos/plugin-runner
target=sdb2_crypt,source=UUID=65f16e28-5b74-4b1f-9f81-01729244ac2c,key=none,rootdev,discard,keyscript=/lib/mandos/plugin-runner
为了确保完整的cryptsetup堆栈正确编译到initramfs中,请在/etc/crypttab中添加一个伪设备。注意添加noauto,否则它将在启动时尝试解锁设备,并将失败。
/etc/crypttab:dummy_device UUID=087963da-63bb-439b-bb5a-15e712d02a29 none noauto,luks,discard