在 Debian 8.3 上,我想/usr/local/share/test.img
在登录时使用 pam_mount 在挂载点挂载一个加密容器(当然,/home/test
该容器由 拥有)。 test
LUKS加密磁盘镜像的test.img
密码与用户的登录密码相同test
。
这是我的/etc/security/pam_mount.conf.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
<debug enable="0" />
<volume user="test" fstype="crypt" path="/usr/local/share/test.img" mount="/home/test" />
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />
<logout wait="0" hup="0" term="0" kill="0" />
<mkmountpoint enable="1" remove="true" />
<cryptmount>mount.crypt %(VOLUME) %(MNTPT)</cryptmount>
<cryptumount>umount.crypt %(MNTPT)</cryptumount>
</pam_mount>
奇怪的是,我必须在/etc/fstab
该行中添加:
/usr/local/share/test.img /home/test crypt user,noauto 0 0
否则 pam_mount 会抱怨在 fstab 中找不到它!?
它可以正常工作,除了一个问题:被用户/home/test
拥有并且不可写!root
test
添加noroot="1"
也不起作用,pam_mount 抱怨它无法为加密容器设置环回设备。
如何使用/home/test
pam_mount 进行挂载,使其属于test
?
答案1
我已将最后一行更改/etc/fstab
为:
/usr/local/share/test.img /home/test crypt user,noauto,uid=1000 0 0
1000是用户的uid test
。
并添加uid
到允许的选项中/etc/security/pam_mount.conf.xml
:
<mntoptions allow="nosuid,uid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
现在可以了。但我不清楚为什么。