This is kind of magic... |
В экзаменационных темах есть три наиболее "незошедших" мне пункта: LVM, permissions и autofs. Про права я уже писал, LVM становится все более понятным после установки сервера для лабы, а вот с autofs разберемся сегодня. По крайней мере такой была первоначальная цель.
Я, как обычно, стремлюсь затрагивать как можно больше тем одновременно и не изолировать одну технологию от другой. Поэтому сегодня настроим autofs на свежем сервере через LDAP.
autofs (automount)
Вернемся к autofs. Что это и зачем оно нужно?Autofs позволяет гибко монтировать те или иные ресурсы по требованию. В отличие от fstab, например, такие шары не будут присутствовать в системе постоянно, они будут подключаться динамически, при обращении к ним. Более того, есть в autofs возможности использовать маски, но об этом лучше на примере.
В autofs есть два типа монтирования:
- Direct - монтирует шару в уже созданную директорию при доступе к ней.
- Indirect - создает "виртуальную" директорию, в которой "слушает" запросы на другие директории. При обращении к ним, монтирует шару. В этом случае, директории просто пропадут, если выключить сервис autofs.
/homedirs
* srv1.rhcsalab.hi:/srv/homes/&
Стремясь оставаться ближе к реальным кейсам использования, я подготовил некую инфраструктуру в виде nfs шар и немного подкорректировал LDAP. Самих пользователей и групп я взял из поста про права в Linux. Далее я буду придерживаться следующего сценария.
Надо настроить виртуальную машину, которая будет брать информацию о пользователях и группах у LDAP. Каждый пользователь должен иметь свою домашнюю директорию на NFS сервере, которая должна автоматически подмонтироваться при обращении к ней. Аналогичным образом в системе должны присутствовать две директории, по одной на группу. Одна для kgb, вторая для sobes. Этих директорий не должно быть в системе, если к ним никто не обращался. Должна существовать и третья папка для технических целей, в неё будем монтировать различные ресурсы, которые могут пригодиться для администрирования сервера, например шару с содержимым установочного dvd.
Окружение
Итак, мы имеем две группы KGB и SOBES, по паре пользователей в каждой группе. Каждый пользователь имеет домашнюю директорию в директории /homedirs/$USER. Ваня, скажем, имеет свою персональную директорию в /homedirs/ivan. Таковы настройки LDAP.На NFS сервера мы имеем соответствующую структуру. Есть домашние папки, есть шары для каждой группы и одна общая, есть директория с содержимым dvd диска.
Быстро глянем на директорию sobes и разберем настройки прав доступа.
Мы имеем drwxrws--T+
d - директория
r - права на чтение (ls) для пользователя
w - права на запись (touch/rm) для пользователя
x – права на выплнение (cd) для пользователя
r - права на чтение (ls) для группы
w - права на запись (touch/rm) для группы
s - установлен GroupID, установлены права на выполнение для группы (маленькая s)
-
-
T - установлен StickyBit, "под ним" нет никаких литер (T большая)
+ - применены ACL
Настраиваем машину
Я поставил новую виртуалку для этого теста, благо я могу сделать это буквально в пару кликов.LDAP
Информацию о пользователях будем забирать с LDAP сервера. Настройки можно сделать через текстовый файл или через удобный authconfig-tui. Я делаю первоначальную настройку через tui, но и сам конфигурационный файл очень прост. Но для начала надо поставить nss-pam-ldapd.Указываем, что мы хотим включить LDAP аутентификацию, затем указываем URL и BASE DN, отмечаем, что мы хотим использовать сертификат. Последним шагом копируем сертификат с srv1 в /etc/openldap/cacerts, как нас любезно предупреждает tui.
Последний шаг. Нужно раскоментировать строку в конфиге, которая отключает проверку сертификата. После чего можно рестартовать сервер.
Autofs
Для того чтобы заработало автомонтирование nsf через automount нам потребуется nfs-utils и autofs. )Для начала просмотрим доступные шары. Теперь создадим директорию /share и смонтируем в неё руками /srv/share. Все работает, как видно.
Direct
Так как директория /share уже создана, настроим прямое монтирование в эту саму директорию. Напомню, такой способ не предполагает автоматическое создание директории, он опирается на уже созданную папку.Создаем файл blablabla.autofs в /etc/auto.master.d/. Как вариант, можно править /etc/auto.master файл. В любом случае, указываем там, что хотим "мониторить" /- и все следующие инструкции находятся в /etc/share.auto. Тут имя не важно.
Любое indirect монтирование начинается со стоки /-.
В файле share.auto указываем имя какой директории от корня нужно "слушать", в нашем случае /share. Также необходимо указать какую шару монтировать. Я монтирую одноименную папку на srv1.
Ну и, после рестарта сервиса, проверка. Смотрим, что находится в директории и видим содержимое шары. Магия...
Indirect
Теперь создадим "прямую" точку монтирования. В этом случае, никаких директорий создавать не надо и они будут созданный автоматически. Вернее не совсем так, они будут присутствовать в системе до тех пор, пока autofs сервис запущен.Во все тот же nfs.autofs допишем вторую строку, в которой добавим директорию /res и соответствующий ей конфигурации res.auto. В этот файл, в свою очередь, пропишем директорию dvd (обратите внимание, что здесь мы используем путь без /) и команду для монтирования шары на srv1.
До перезапуска сервиса директории /res вообще нет в системе. Рестартуем сервис и уже видим, что она появилась. После перехода в неё ситуация не меняется, но стоит с нее перейти в dvd и, вуаля, видим содержимое dvd диска, который лежит на srv1.
Masked
Это не третий путь монтирования, а всего лишь инструмент для увеличения функционала. В знакомый нам файл nfs.autofs допишем третью строку, которая по сути является indirect точкой монтирования (такой директории нет физически).В файле конфигурации homedirs.auto добавляем * (звуздочку) и команду для монтирования директории с & на конце. Что это означает? Демон "слушает" то, куда хочет достучаться пользователь и подставляет эту директорию в конец команды монтирования.
Рестартуем сервис и видим, что папка появилась в системе. Идем дальше и пытаемся достучаться до папки пользователя. В итоге наблюдаем её содержимое.
Ну и самый приятный тест. Заходим под пользователем ivan и видим, что его домашней директорией является папка на srv1. Autofs сработал как надо. Далее переходим в групповую папку kgb и наблюдаем её контент. Здесь тоже все работает.
Комментариев нет:
Отправить комментарий