Имеем: неизменную базовую /home директорию.
Хотим: отдельно держать изменения внесенные пользователями, чтобы они не влияли на базовую /home.
изменения держать в рамдиске, так чтобы они не сохранялись при следующем входе
Решение:
- unionfs - для отделения данных пользователя от read-only основы.
- tmpfs - для создания /tmp директории с временными файлами, хранимой в ОЗУ.
- pam-mount (http://pam-mount.sourceforge.net/) - PAM модуль для автоматического
монтирования разделов в момент входа пользователя в систему.Устанавливаем пакеты (пример для Debian и Ubuntu):
apt-get install unionfs-modules-`uname -r`
apt-get install libpam-mount
Настраиваем pam_mount (/etc/security/pam_mount.conf)
volume debiosk tmpfs - tmpfs /tmp/tmpfs "size=15M,uid=debiosk,gid=debiosk,mode=0700" - -
volume debiosk unionfs - unionfs /home/debiosk "dirs=/tmp/tmpfs:/home/debiosk=ro" - -
где
"volume" - ключевое слово, сигнализирующее об описании раздела;
"debiosk" - имя пользователя, для которого определены правила монтирования;
"tmpfs" - тип файловой системы;
" - " - сигнализирует о неиспользовании монтирования с удаленного сервера;
"/tmp/tmpfs" - точка монтирования;
"size=15M,uid=debiosk,gid=debiosk,mode=0700" - параметры монтирования tmpfs:
"size=15m," - размер;
"uid=debiosk,gid=debiosk," - владелец;
"mode=0700" - права доступа;
"dirs=/tmp/tmpfs:/home/debiosk=ro" - параметры монтирования unionfs:
указывают отобразить изменения /home/debiosk в директории /tmp/tmpfs
Добавляем строку "@include common-pammount" в /etc/pam.d/login, /etc/pam.d/su и /etc/pam.d/xdm
Теперь пользователь debiosk каждый раз будет получать исходную домашнюю директорию,
а изменения будут действовать только в пределах сессии.
URL: http://www.debian-administration.org/articles/586
Обсуждается: https://www.opennet.ru/tips/info/1630.shtml