如何在登录时安全挂载LUKS分区?

Vic*_*ine 5 encryption luks 16.04

我想在登录后访问 LUKS 加密的数据分区,理想情况下无需输入密码,显然是以安全的方式。

我的主目录也使用 LUKS 加密。

我找到了这个教程:https://ubuntuforums.org/showthread.php?t =837416 。

对我来说,这感觉完全不安全,因为任何启动 live CD 的人都可以访问该root目录,从而访问密钥,从而解密另一个分区的数据。

这是我到目前为止所做的,

创建一个新密钥:

sudo dd if=/dev/urandom of=$HOME/.data_crypt_keyfile bs=1024 count=4

使其对 root 只读:

sudo chmod 0400 $HOME/.data_crypt_keyfile

将此新密钥添加到 LUKS 密钥槽中:

sudo cryptsetup luksAddKey /dev/sdc1 $HOME/.data_crypt_keyfile

如何在登录后自动打开该分区,并在注销时自动关闭该分区?

Kaz*_*lfe 2

如果您的主文件夹本身是由 LUKS 加密的,则在主文件夹不被解密的情况下应该无法读取密钥(只有在您登录时才会发生这种情况)。

只要密钥文件实际上是从您的用户目录 ( /home/<whatever>) 中读取的,而不是从 中读取的/root,就应该没问题。

至于登录时自动安装,您可以在启动应用程序列表中使用一个简单的脚本(登录成功后运行,因此只要您将此驱动器安装到用户空间,它就可以工作)。对于注销,您可以将其设置为在终止 X 会话时卸载

简而言之,您将执行以下操作:

  1. 创建一个小脚本,用于从安装位置卸载加密驱动器
  2. 将其添加到session-cleanup-script/etc/lightdm/lightdm.conf。每当任何会话被终止时都会运行,因此这可能不是最佳选择。

注意事项

  • 如前所述,自动注销脚本会在任何X 会话终止时运行,因此当另一个用户注销并发会话时,您的驱动器可能会意外卸载。但是,如果您是唯一一个仅运行单个 X 会话的用户,那么这不会成为问题。
  • 同样,即使在 TTY 中,您也需要保持 X 会话打开,除非您想手动挂载/卸载设备。


小智 1

您可以使用“pam_mount”。

您的用户和分区需要相同的密码。而且注销后也不会卸载分区。

以下解释帮助我获得了设置所需的内容。