Содержание

Монтирование сетевых ресурсов NFS

Введение

Эта статья описывает монтирование сетевых ресурсов по протоколу NFS («NFS-шар») на клиенте с ОС ROSA Хром/Fresh.

Для монтирование NFS должен быть установен пакет nfs-utils, при необходимости установите его:

sudo dnf install nfs-utils

Монтирование NFS без авторизации

Рассмотрим монтирование NFS без авторизации. Сервер NFS может разрешать или запрещать доступ с определенных IP, с точки зрения клиента не будем считать это авторизацией.

Создаем каталог-точку монтирования:

sudo mkdir /mnt/nfs_share

Производим монтирование:

sudo mount -t nfs4 server:/remote/path /mnt/nfs_share

где server — адрес (DNS или IP) сервера, /remote/path — путь к ресурсу на сервере, /mnt/nfs_share — каталог на локальном компьютере, в котором будет монтироваться удаленная файловая система.

Чтобы монтирование происходило автоматически, настроим его, добавив эквивалентную этой команде строку в /etc/fstab:

server:/remote/path /mnt/nfs_share nfs4

Произведем проверку монтирования:

sudo mount /mnt/nfs_share

И отмонтирования:

sudo umount /mnt/nfs_share

Монтирование NFS с авторизацией по билету Kerberos через pam_mount

Для монтирования NFS с авторизацией по Kerberos через PAM, можно использовать утилиту pam_mount, которая позволяет автоматически монтировать файловые системы в момент входа пользователя в систему — после того, как в процессе входа был получен необходимый для доступа к ресурсу билет Kerberos.

Для начала нужно убедиться, что на сервере NFS настроена авторизация через Kerberos и что клиентские машины имеют доступ к службе Kerberos.

Устанавливаем необходимые пакеты:

sudo dnf install pam_mount krb5

После установки пакета нужно отредактировать файл конфигурации pam_mount.conf.xml:

sudo nano /etc/security/pam_mount.conf.xml

В этом файле нужно добавить секцию volume, которая будет описывать параметры монтирования NFS:

<volume user="*" fstype="nfs" server="nfs_server" path="/nfs_share" mountpoint="/mnt/nfs_share" options="sec=krb5"/>

user="*" указывает, что данный volume должен быть доступен для всех пользователей. fstype="nfs" означает, что мы будем монтировать NFS. server="nfs_server" указывает адрес сервера NFS, path="/nfs_share" - путь к NFS-шаре на сервере, mountpoint="/mnt/nfs_share" - точка монтирования на клиентской машине, options="sec=krb5" — опции монтирования.

Компьютер, на котором осуществляется монтирование, должен быть введен в домен, либо на нем должен быть отдельно настроен /etc/krb5.conf. Пример файла /etc/krb5.conf в случае настройки без ввода в домен:

[libdefaults]
    default_realm = EXAMPLE.COM
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
[realms]
    EXAMPLE.COM = {
        kdc = kdc.example.com
        admin_server = kdc.example.com
    }
[domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

При необходимости получите билет (если он не получается автоматически через sssd, winbind или иные механизмы ввода машины в домен):

kinit username@EXAMPLE.COM

Далее нужно добавить модуль pam_mount в PAM-стек при входе пользователя в систему. Если используется менеджер входа GDM (по умолчанию в дистрибутивах ROSA 12), то редактируйте файл /etc/pam.d/password-auth, в некоторых других случаях — /etc/pam.d/system-auth. Добавьте в файл строку:

auth optional pam_mount.so

И еще строку:

session optional pam_mount.so

После этого, при следующем входе пользователя в систему, файловая система NFS будет автоматически смонтирована с использованием Kerberos-аутентификации.