Я хочу иметь разные крепления, которые видит только определенный процесс или пользователь. Один из вариантов использования, о котором я думаю, - это когда я хочу смонтировать unionfs или aufs, которые будут доступны для одного пользователя. Таким образом, у меня может быть несколько точек монтирования на одной и той же точке монтирования, которые будут разными для разных пользователей.
Вот как включить пространства имен монтирования для каждого пользователя в Ubuntu 12.10 с помощью pam_namespace:
Отредактируйте /etc/security/namespace.conf
Раскомментируйте последние строки. В целях безопасности добавьте текущего пользователя в список исключений.
/tmp /tmp-inst/ level root,adm,myuser
/var/tmp /var/tmp/tmp-inst/ level root,adm,myuser
редактировать /etc/security/namespace.init
и изменить #!/bin/sh -p
к #!/bin/bash --noprofile
или чтобы #!/bin/sh
Это потому что sh
на самом деле dash
.
Для тестирования править /etc/pam.d/su
и добавьте в конец файла:
session required pam_namespace.so
Тест на тестовом пользователе:
su - testuser
Как тестовый пользователь запускает:
echo diff '<(sort /proc/'$$'/mounts) <(sort /proc/mounts)'
Это сгенерирует такую команду:
diff <(sort /proc/31987/mounts) <(sort /proc/mounts)
Запустите сгенерированный diff из тестовой пользовательской оболочки и из root. От тестового пользователя вы ничего не получите, но в корне вы увидите что-то вроде:
4,7d3
< /dev/sda1 /tmp ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
< /dev/sda1 /tmp/tmp-inst ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
< /dev/sda1 /var/tmp ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
< /dev/sda1 /var/tmp/tmp-inst ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
Test_user /tmp
папка будет отображаться как /tmp/tmp-inst/test_user
и он будет доступен только этому пользователю.
Почему бы просто не смонтировать в ~ / specificmountpoint. Установите соответствующие разрешения. У каждого пользователя будет одинаковая (почти) точка крепления.
Похоже, сейчас это возможно:
По крайней мере, теоретически. Проверьте эту статью для получения более подробной информации: http://lwn.net/Articles/531114/