如何以安全的方式自动挂载 LUKS 加密分区?理想情况下,当我登录时(因此我的密码在登录屏幕上),或者一旦我进入桌面让 Ubuntu 询问我的密码,然后自动挂载分区?
我的 fdisk 的内容如下
加密分区是/dev/sdb7,我的根分区和主分区是/dev/sdb5(未加密)。
Disk /dev/loop0: 14 MiB, 14647296 bytes, 28608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 81.7 MiB, 85692416 bytes, 167368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0006d9d9
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 524646399 524644352 250.2G 7 HPFS/NTFS/exFAT
/dev/sda2 * 524646400 1953523711 1428877312 681.4G 83 Linux
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1ffae910
Device Boot Start End Sectors Size Id Type
/dev/sdb1 214892542 976773119 761880578 363.3G 5 Extended
/dev/sdb2 * 2048 2150399 2148352 1G 83 Linux
/dev/sdb5 214892544 257558559 42666016 20.4G 83 Linux
/dev/sdb6 300716032 318294015 17577984 8.4G 82 Linux swap / Solaris
/dev/sdb7 318296064 976773119 658477056 314G 83 Linux
Partition table entries are not in disk order.
使用 pam-mount
您可以使用 pam-mount 来执行此操作。它将挂钩到登录过程,因此能够使用输入的密码来安装 luks 分区。设置方法如下:
创建测试 luks 映像
如果您已经有 LUKS 加密的分区或映像,请跳过此部分
在你的主目录中创建一个名为.priv的文件,大小为 1GB:
使用 LUKS 格式化图像并设置密码(使用与您的登录密码相同):
启用图像:
在新设备上创建文件系统:
再次禁用图像:
安装和设置 pam-mount
安装包:
编辑配置文件
/etc/security/pam_mount.conf.xml
并向其中添加以下行:在它说的地方添加这个
<!-- Volume definitions -->
。请注意 path 和 mountpoint 参数的细微但重要的区别。在您的特定情况下,您将使用path="/dev/sdb7"
.现在登录到您的机器,您应该注意到它需要比平时更长的时间。成功登录后,您可以使用
mount
命令检查您家中现在是否安装了一个新文件系统。它应该类似于:用于 /home/USER
我正在使用此设置
/home/seb
从 Ubuntu 18.04 上的 LUKS 加密映像挂载我的主目录 ()。pam_mount 还会在我注销后负责卸载映像。因此,如果在安装过程中您没有选择全盘加密,这是一种至少获得一些加密的好方法。要回答@Falc 关于为什么将挂载点设置为
<volume path="/dev/sdb7" mountpoint="/home" />
不起作用而是阻止他登录的原因。通过将挂载点设置为主目录,您实际上用加密分区替换了主目录。无法登录的原因/home
是Linux需要该目录才能工作。更重要的是,主目录包含许多重要的隐藏文件,如 .config、.bashrc、.profile 和 .bash_profile。您的主文件夹中的这些文件和其他文件包括gnome-session-properties,它们会在您登录时启动程序。当您将加密驱动器安装在主目录上时,图形会话所需的应用程序无法启动。