pam_mount меняет владельца точки монтирования на root

pam_mount меняет владельца точки монтирования на root

На 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" />

Теперь это работает. Но мне не ясно, почему.

Связанный контент