使用 pam-mount

使用 pam-mount

如何以安全的方式自动挂载 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.

答案1

使用 pam-mount

您可以使用 pam-mount 来执行此操作。它将挂载到登录进程,从而能够使用输入的密码来挂载 luks 分区。设置方法如下:

创建测试 luks 图像

如果你已经有 LUKS 加密的分区或映像,请跳过此部分

创建一个名为.priv在你的主目录中,大小为 1GB:

truncate -s 1G ~/.priv

使用 LUKS 格式化图像并设置密码(使用与您的登录密码相同):

cryptsetup luksFormat ~/.priv

启用图像:

sudo cryptsetup luksOpen ~/.priv priv

在新设备上创建文件系统:

sudo mkfs.ext4 /dev/mapper/priv

再次禁用图像:

sudo cryptsetup luksClose priv

安装并设置 pam-mount

安装软件包:

sudo apt install libpam-mount

编辑配置文件/etc/security/pam_mount.conf.xml并添加以下行:

<volume path="~/.priv" mountpoint="~/priv" />

在 之后立即添加此内容<!-- Volume definitions -->。请注意路径和挂载点参数中细微但重要的区别。在您的特定情况下,您将使用path="/dev/sdb7"

现在登录到您的机器,您应该注意到它比平时花费的时间更长一些。成功登录后,您可以使用命令检查mount您的主目录中是否安装了一个新的文件系统。它应该类似于以下内容:

/dev/mapper/_dev_loop3 on /home/seb/priv type ext4 (rw,relatime,data=ordered,helper=crypt)

用于 /home/USER

我正在使用此设置从 Ubuntu 18.04 上的 LUKS 加密映像挂载我的主目录 ( /home/seb)。pam_mount 还将负责在我注销后卸载映像。因此,如果在安装过程中您没有选择全盘加密,这是一种获得至少一些加密的好方法。

答案2

回答@Falc 为什么将挂载点设置为<volume path="/dev/sdb7" mountpoint="/home" />不起作用,反而阻止他登录。通过将挂载点设置为 home,您实际上用加密分区替换了主目录。您无法登录的原因是/homeLinux 需要该目录才能工作。此外,主目录包含许多重要的隐藏文件,例如 .config、.bashrc、.profile 和 .bash_profile。这些文件和主文件夹中的其他文件包括gnome 会话属性它会启动您登录时要启动的程序。当您将加密驱动器安装在主目录上时,图形会话所需的应用程序无法启动。

相关内容