![如何在登录时挂载加密卷(Ubuntu 12.04,pam_mount)](https://linux22.com/image/582726/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E6%97%B6%E6%8C%82%E8%BD%BD%E5%8A%A0%E5%AF%86%E5%8D%B7%EF%BC%88Ubuntu%2012.04%EF%BC%8Cpam_mount%EF%BC%89.png)
我正在尝试让 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" />