URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 40938
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Монтирование директории пользователя при его входе в Linux систему"

Отправлено auto_tips , 27-Мрт-08 11:53 
Имеем: неизменную базовую /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
Обсуждается: http://www.opennet.me/tips/info/1630.shtml


Содержание

Сообщения в этом обсуждении
"Монтирование директории пользователя при его входе в Linux систему"
Отправлено begemot , 27-Мрт-08 11:53 
Идеальное решение для школ и других образовательных учреждений.

Большое спасибо за материал.


"Монтирование директории пользователя при его входе в Linux систему"
Отправлено ии , 28-Мрт-08 08:44 
Что-то мне подсказывает, что изменения лучше держать не на диске в оперативной памяти (которая не для этого создана, ибо размеры ее не безграничны), а во временной директории (той же /tmp/userhome к примеру. Для скорости эту /tmp мона в Рейзер ФС форматнуть.
Ну и естественно, при запуске /tmp очищается на всякий случай (вдруг была неправильная перезагрузка).

"Монтирование директории пользователя при его входе в Linux с..."
Отправлено Дмитрий Ю. Карпов , 28-Мрт-08 11:28 
> изменения лучше держать не на диске в оперативной памяти (которая не для этого создана, ибо размеры ее не безграничны), а во временной директории

В компьютере есть вде оперативные памяти: физическая (модули памяти DIMM) и виртуальная (физическая + swap + файлы запущенных программ). Так вот, RAM-FS держится именно в виртуальной памяти, а при недостатке физической памяти свопится (из чего следует, что swap-раздел надо сделать побольше). Главное отличие RAM-FS от обычных FS в том, что данные из RAM-FS сбрасываются на диск не регулярно, а только по мере исчерпания свободного места, т.е. в терминах кэширования это очень сильно отложенная запись. Долгое откладывание записи на диск способствует повышению производительности и приводит к потере данных пи сбое питания; но т.к. в RAM-FS хранят данные, которые не нужны после перезагрузки, мы получает то что надо.

PS: Умные люди монтируют /tmp в RAM-FS.


"Монтирование директории пользователя при его входе в Linux с..."
Отправлено Черников Антон , 02-Апр-08 17:00 
В линуксах, начиная с ядра 2.6, если я все правильно помню, под дисковый кэш можно выделить хоть всю свободную оперативную память, поэтому соображения кэширования особой роли не играют, важна лишь политика кэширования. Ну это так, к слову.
Тут есть некоторая путаница в терминологии, говоря RAM-FS ты описываешь именно tmpfs. Дело в том, что RAM-FS как раз никакого свопа не использует, весь раздел должен помещаться только в оперативной памяти. Иногда это важно, из соображений безопасности например.
В своем опусе я опирался на вот этот источник знаний: http://lwn.net/Articles/156098/

"Монтирование директории пользователя при его входе в Linux систему"
Отправлено вопрос , 29-Мрт-08 03:27 
а так будет работать?
/ - cramfs
/tmp - tmpfs
unionfs: / - /tmp ?

"Монтирование директории пользователя при его входе в Linux систему"
Отправлено уточнение , 29-Мрт-08 12:39 
при воспроизведении примера столкнулся с тем, что конфиг у pam_mount находится в /etc/security/pam_mount.conf.xml в формате XML

"Монтирование директории пользователя при его входе в Linux систему"
Отправлено WaZZuP , 09-Апр-08 16:05 
а как  сделать так  чтобы  был  еще   каталог
скажем   ~/Documents  в  который  можно было  бы  сохранять

"Монтирование директории пользователя при его входе в Linux с..."
Отправлено GByte , 15-Апр-08 08:51 
Монтировать отдельный раздел (или просто файл фиксированного размера) в этот пустой каталог?

"Монтирование директории пользователя при его входе в Linux систему"
Отправлено nauman , 12-Авг-09 22:21 
У меня чтото не смогло установить unionfs-modules.
Но получилось отсюда http://systemsinside.kiev.ua/node/260

"Монтирование директории пользователя при его входе в Linux систему"
Отправлено eigrad , 21-Окт-09 00:02 
Хотелось бы увидеть подобную статью с использованием aufs2.