На 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" />
Теперь это работает. Но мне не ясно, почему.