在 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" />
現在可以了。但我不清楚為什麼。