Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Введение

Автоматическое монтирование позволяет пользователям получить доступ к разделяемым ресурсам без явного выполнения операций монтирования, просто через доступ к точке монтирования. Монтирование может выполняться с помощью различных сетевых файловых систем (ФС).  По умолчанию используется ФС NFS, опция -fstype в параметрах монтирования позволяет изменить тип СФС. Параметры монтирования определяются картами монтирования, хранящимися централизовано в службе каталогов контроллера FreeIPA. В некотором смысле карты монтирования являются сетевым эквивалентом файла /etc/fstab. При стандартной установке клиента FreeIPA клиентский доступ к картам монтирования осуществляется через службу кеширования данных службы каталогов - службу SSSD. В целом структура данных и правила использования карт монтирования FreeIPA соответствуют правилам использования карт монтирования autofs (см. man 5 autofs, где содержится подробная информация). В данной статье рассматривается использование карт монтирования для монтирования сетевых ресурсов доменными клиентами FreeIPA.

Применимость автомонтирования

Контроллер FreeIPA хранит карты монтирования в своем каталоге, а клиентское ПО FreeIPA имеет возможность получать и применять эти карты. Таким образом, любой (соответственно настроенный) клиент FreeIPA может воспользоваться этим сервисом.

Автоматическое монтирование выполняется при обращении к ресурсу, независимо от того, кто пытается осуществить этот доступ. Поэтому применять автоматическое монтирование следует с осторожностью. В частности, автоматическое монтирование удаленного каталога /home непосредственно в локальный каталог /home приведёт к потере локальных домашних каталогов пользователей (так как при попытке обратиться к локальному домашнему каталогу система автомонтирования будет пытаться примонтировать туда (вероятно несуществующий) удаленный каталог). С этой точки зрения более удобным для домашних каталогов является монтирование с помощью pam_mount. Альтернативой может быть назначения отдельного каталога для автоматического монтирования домашних каталогов доменных пользователей. При этом монтирование общих сетевых ресурсов удобнее администрируется при помощи централизованного хранилища карт автоматического монтирования.

При создании карты автомонтирования разделяемый ресурс автоматически не создается, то есть карты автомонтирования должны ссылаться на уже существующие разделяемые ресурсы. Порядок настройки разделяемых ресурсов см.:

При выборе сетевой файловой системы монтирования следует помнить, что файловая система CIFS обеспечивает аутентификацию (применительно к доменному клиенту - аутентификацию Kerberos) на уровне пользователей, а файловая система NFS допускает аутентификацию на уровне компьютеров. Кроме того, файловая система CIFS при использовании в Astra Linux Special Edition поддерживает работу с конфиденциальными данными (данными, имеющими ненулевую классификационную метку), в том числе монтирование пользовательских домашних каталогов, имеющих ненулевую классификационную метку. Таким образом, для автоматического монтирования конфиденциальных пользовательских данных предпочтительной является файловая система CIFS.

При использовании файловой системы NFS следует использовать файловую систему не ниже версии NFSv4 (опция -type=nfs4).

Иерархия и типы карт монтирования

Далее используются термины:

  • Распложение (location);
  • Мастер (master);
  • Прямая карта монтирования;
  • Косвенная карта монтирования.

Описание терминов:

  •  Расположение (location). Корневая точка иерархии карт монтирования. В базе данных FreeIPA может быть создано несколько иерархий карт монтирования. При инициализации сервера FreeIPA по умолчанию создается одна иерархия с именем корневой точки default. При настройке клиента можно выбрать, какой именно иерархией карт монтирования он должен пользоваться. Получить список иерархий (расположений автомонтирования можно командой):

    ipa automountlocation-find

    Получить список карт монтирования, входящих в расположение автомонтирования, можно командой:

    ipa automountmap-find default

    где default - название расположения автомонтирования;

  • Мастер (master). В каждом расположении автомонтирования существует в единственном экземпляре. Представляет собой входную точку иерархии карт монтирования. Для мастер-карты зарезервировано название auto.master. Ключ в мастер-карте интерпретируется как указание на тип подчиненной прямой или косвенной карты монтирования. Информация монтирования содержит глобальные опции монтирования для подчиненной карты (опции суммируются), и имя подчиненной карты.
  • Прямая карта монтирования. Задаются в мастер-карте специальным ключем “/ -”, например

    /-	 auto.direct

    В самой прямой карте заданный в ней ключ интерпретируется как полный путь к точке монтирования, а информация монтирования – как опции монтирования и отделенное пробелом имя сетевого ресурса, например:

    Информация монтирования
    -fstype=cifs,sec=krb5i,multiuser,cruid=$UID ://ipa0.ipadomain0.ru/srv

    где:

    • -fstype=cifs,sec=krb5i,multiuser,cruid=$UID — опции монтирования, подробнее см. man mount.cifs (и man mount.nfs для файловой системы NFS);
    • ://ipa0.ipadomain0.ru/srv — имя монтируемой файловой системы. В примере используется файловая система CIFS для которой имя ресурса монтирования начинается с символа двоеточия. Для файловой системы NFS имя состоит из имени сервера и пути, разделенных двоеточием, например: ipa0.ipadomain0.ru:/srv/.

       
  • Косвенные карты монтирования. Задаются в мастер-карте ключем, представляющим собой полный путь, и именем косвенной карты. Пример записи в мастер-карте:

    /share	auto.share

    Косвенные карты монтирования привязываются к абсолютному пути точки монтирования из мастер-карты, а ключ в карте дополняет путь после точки монтирования, куда должен монтироваться разделяемый сетевой ресурс. Например, карта auto.share может содержать:

    pub filer.example.com:/export/pub
    mirror nfs.example.com:/mnt/mrror

    Тогда, с учетом приведенного выше примера мастер-карты (где задана точка монтирования /share), клиент может монтировать разделяемый ресурс NFS в каталоги /share/pub и /share/mirror.

Настройка карт автомонтирования на сервере FreeIPA

Web-интерфейс

Карты автомонтирования могут быть настроены с помощью графического web-интерфейса FreeIPA: "Сетевые службы" - "Автомонтирование":

По умолчанию при запуске сервера FreeIPA создается иерархия карт ("Расположение автомонтирования") с именем "default", содержащая мастер-карту, и карты auto.direct и auto.home:

Командная строка

Для управления параметрами карт автомонтирования из командной строки предусмотрен комплект соответствующих инструментов. Справка по инструментам и их список доступны из команды

ipa help automount

Краткий список команд:

automountkey-add          Создать новый ключ автомонтирования
automountkey-del          Удалить ключ автомонтирования
automountkey-find         Поиск ключа автомонтирования
automountkey-mod          Изменить ключ автомонтирования
automountkey-show         Показать ключ автомонтирования
automountlocation-add     Создать новое расположение автомонтирования
automountlocation-del     Удалить расположение автомонтирования
automountlocation-find    Поиск расположения автомонтирования
automountlocation-import  Импортировать файлы автомонтирования для определённого расположения
automountlocation-show    Показать расположение автомонтирования
automountlocation-tofiles Создать файлы автомонтирования для определённого расположения
automountmap-add          Создать новый список соответствия автомонтирования
automountmap-add-indirect Создать новую непрямую точку монтирования
automountmap-del          Удалить список соответствия автомонтирования
automountmap-find         Поиск списка соответствия автомонтирования
automountmap-mod          Изменить список соответствия автомонтирования
automountmap-show         Показать список соответствия автомонтирования

Настройка сервера

Порядок настройки сервера NFS см. статью Сетевая файловая система NFS с аутентификацией Kerberos в домене FreeIPA.

Порядок настройки сервера Samba см. статью Samba + FreeIPA аутентификация пользователей Samba в Kerberos.

Настройка клиентов

Для настройки клиентов выполнить следующие дейтсвия:

  1. Установить пакеты:

    Пакеты для монтирования CIFS и NFS могут быть установлены и использоваться совместно, однако при использовании аутентификации Kerberos для совместного использования потребуется решить проблему выбора билетов Kerberos:
    • NFS использует билет Kerberos компьютера, создающийся при попытке монтирования и хранящийся в файле /tmp/krb5ccmachine_REALM;
    • CIFS использует билеты Kerberos пользователей, создающиеся при авторизации пользователей, и хранящиеся в KEYRING, однако, обнаружив билет компьютера, безуспешно пытается авторизоваться с этим билетом.
    1. Для монтирования файловой системы CIFS установить пакеты:

      sudo apt install autofs cifs-utils

    2. Для монтирования файловой системы NFS:

      1. Установить пакеты:

        sudo apt install autofs nfs-common

      2. Для нормальной работы службы rpc-svcgssd.service:
        1. Получить для билет Kerberos администратора домена (на компьютере, на котором будут выполняться следующие команды):

          sudo kinit admin

        2. Зарегистрировать службу nfs/<имя_сервера> в домене (эта команда может быть выполнена как на клиенте при наличии установленного пакета freeipa-admintools, так и на контроллере домена):

          sudo ipa service-add nfs/`hostname`

        3. Получить таблицу ключей и сохранить ее в файле /etc/krb5.keytab (эта команда должна быть выполнена на клиенте):

          sudo ipa-getkeytab -p nfs/`hostname` -k /etc/krb5.keytab

  2. Включить автоматическое монтирование на клиентской машине:
    1. Если машина ещё не введена в домен FreeIPA (см. Контроллер ЕПП FreeIPA в Astra Linux), то использовать при вводе в домен опцию --automount-location=<имя_иерархии_карт>;
    2. Если машина уже была введена в домен FreeIPA, то выполнить команду включения автомонтирования (в примере ниже использовано имя иерархии карт default):

      sudo ipa-client-automount --location=default

  3. По необходимости настроить клиентские пакеты, проверить их функционирование, проверить доступность разделяемых ресурсов (см. статью Монтирование домашних каталогов клиентов FreeIPA с ненулевой классификационной меткой и статью Сетевая файловая система NFS с аутентификацией Kerberos в домене FreeIPA).

    Некорректно настроенное автомонтирование домашних каталогов приведет к невозможности входа любых пользователей.
  4. Убедиться, что в файл /etc/nsswitch.conf добавлена строчка (включено использование для автоматического монтирования карт монтирования, предоставляемых FreeIPA):

    automount: files sss

    Если в результате некорректно настроенного автомонтирования каталогов доступ к машине утерян, то для восстановления доступа достаточно удалить эту строчку (загрузив систему в режиме восстановления или с Live-CD).