Cra*_*nch 10 disk-encryption luks
我有一个虚拟化的 CentOS 7 服务器,它需要挂载多个受密码保护的加密卷。我无法在启动时自动映射设备,因为在启动过程中我无法访问控制台以输入解密密码。重新启动系统后,我必须手动运行
cryptsetup luksOpen <device> <name>
Run Code Online (Sandbox Code Playgroud)
将每个底层块设备映射到加密设备。这需要记录每个底层块设备的 UUID 及其映射到的名称。有没有简单的方法来自动化这个过程?我可以/etc/crypttab
使用noauto
关键字添加信息以防止设备在启动时挂载。但是,我无法让 cryptsetup 使用此文件中的信息。
如果有这样的命令这将是巨大的cryptsetup luksOpen <name>
,将读取/etc/crypttab
找到基本块设备(类似于你可以能方式的名称mount <mountpoint>
,如果被定义/etc/fstab
)。
有没有办法让 cryptsetup 从中读取映射/etc/crypttab
?
小智 5
看看cryptdisks_start和cryptdisks_stop,他们就是这样做的。
# cryptdisks_start <name>
# mount <mountpoint>
...stuff...
# umount <mountpoint>
# cryptdisks_stop <name>
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用
sudo systemctl start systemd-cryptsetup@<name>
代替
cryptsetup luksOpen UUID=... <name>
当您的 /etc/crypttab 中有如下条目时:
<name> UUID=... none noauto
如果需要,它会提示您输入密码。
相应的单元文件由systemd-cryptsetup-generator自动生成。
您可以使用列出所有生成的单元文件
systemctl list-unit-files| grep systemd-cryptsetup
我想你想尝试一下systemd-cryptsetup-generator
。
通常,此进程在 initramfs 引导期间运行,以动态生成解密中列出的每个块设备的 systemd 单元/etc/crypttab
。然后,您可以随时启动这些单元,系统会提示您输入任何必要的密码。
由于这是虚拟机,您应该有权访问虚拟控制台,这意味着您可以简单地正常加密文件系统并在启动时提供密码。当然,无论您何时输入密码,加密文件系统的安全性无论如何都会受到损害,只要在虚拟机中使用即可。
归档时间: |
|
查看次数: |
6843 次 |
最近记录: |