如何在登录时挂载加密卷(Ubuntu 12.04,pam_mount)

如何在登录时挂载加密卷(Ubuntu 12.04,pam_mount)

我正在尝试让 pam_mount 在 Ubuntu 12.04 上运行。

我有 /dev/sda1(加密分区),其中有 /dev/dm-1(ext4 格式)。

~/.pam_mount.conf.xml 是否应该尝试挂载 /dev/sda1 或 /dev/dm-1?

如果我使用以下行:

<volume fstype="ext4" path="/dev/dm-1" mountpoint="~/slowstore" options="rw" /> 

然后它几乎就成功了。它提示输入密码(好吧,我希望 pam_mount 能帮我做这件事,但仍然……)然后我得到:

pam_mount(rdconf2.c:126): checking sanity of luserconf volume record (/dev/dm-1)
pam_mount(rdconf2.c:132): user-defined volume (/dev/dm-1), volume not owned by user

如果我做:

sudo chown nick:disk /dev/dm-1

然后重新登录,加密分区正确挂载(忽略我必须重新输入密码的事实)。但是,如果我完全注销,/dev/dm-1 上的所有权将重置为 root:disk。

我究竟做错了什么?

答案1

您应该将 udev 配置为自动设置权限。请参阅https://unix.stackexchange.com/questions/23955/permanently-changing-the-ownership-or-group-of-lvm-volume(报告此处)

  • 运行udevadm info --query=all --name /dev/dm-1以获取分区的卷组名称(E: DM_VG_NAME=...行)和逻辑卷名称(E: DM_LV_NAME=...行)(您可能已经通过其他方式知道它们)
  • 创建一个文件(或修改一个看起来应该包含自定义规则/磁盘规则的文件)并/etc/udev/rules.d/添加以下行

    ENV{DM_VG_NAME}=="..." ENV{DM_LV_NAME}=="..." OWNER="昵称"

当然,替换...成相关信息。

如果可能的话,通过重新启动来重新加载 udev 规则(以便您可以测试它是否在启动时工作),或者通过运行

sudo udevadm control --reload-rules

注意:如果您在中创建新文件,/etc/udev/rules.d则应将其命名为DD-whatever.conf,其中DD是两位小数。规则按数字顺序解析,因此您的规则的数字应高于设置默认所有权值的系统规则,以便覆盖它。如果它不起作用,请将数字更改为95左右

答案2

这并没有真正回答你的问题,所以我希望我可以将其保留为评论,但我认为这个链接可以对你有所帮助。https://askubuntu.com/questions/73435/pam-mount-wont-automount-encrypted-partiton在他们的示例中,他们指向分区,将 fstype 设置为 crypt,并在行中定义用户。这是一个直接从链接中获取的示例,所以相信我,我不想承担答案的功劳。我希望该链接对您有所帮助!

<volume user="user" fstype="crypt" path="/dev/sda5" mountpoint="/media/personal" options="fsck,relatime" />

相关内容