2.5.8 Автоматическое монтирование ресурсов при входе пользователя с помощью pam_mount
Для автоматического монтирования разделяемых файловых ресурсов при входе пользователя используется pam модуль pam_mount, предоставляемый пакетом pam_mount, то есть для автоматического монтирования разделяемых файловых ресурсов на компьютере-клиенте должны быть установлены пакет cifs-utils и pam_mount:
Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:
yum install cifs-utils pam_mount
Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:
dnf install cifs-utils pam_mount
Настройка модуля pam_mount осуществляется с помощью конфигурационного файла /etc/security/pam_mount.conf.xml
На нашем Youtube-канале вы можете подробнее ознакомиться с возможностью автоматического монтирования ресурсов, просмотрев видео Монтирование файловых систем в РЕД ОС, а также найти много другой полезной информации.
Описание возможностей модуля pam_mount и формат его конфигурационного файла приведены в руководстве man для pam_mount и pam_mount.conf.
Для монтирования с помощью pam-mount разделяемых файловых ресурсов в конфигурационном файле должны быть указаны параметра монтируемого тома, например:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd"> <!-- See pam_mount.conf(5) for a description. -->
<pam_mount> <!-- debug should come before everything else, since this file is still processed in a single pass from top-to-bottom --> <debug enable="1" /> <!-- Volume definitions --> <logout wait="50000" hup="1" term="1" kill="1" /> <cifs mount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS) </cifsmount> <!-- pam_mount parameters: General tunables --> <!-- Описание томов, которые должены подключиться -->
<volumefstype="cifs"server="dc.example.ru"path="share1" mountpoint="/media/%(USER)" options="user=username,pass=password,sec=ntlm,vers=2.0"
/>
<volume
fstype="cifs"
server="dc1.example.ru"
path="share2"
mountpoint="/media/%(USER)"
options="user=%(USER),cruid=%(USERUID),rw,setuids,soft,file_mode=0664,dir_mode=0775,domain=example.ru,vers=2.1,sec=krb5i"
/>
<!-- <luserconf name=".pam_mount.conf.xml" /> --> <!-- Note that commenting out mntoptions will give you the defaults. You will need to explicitly initialize it with the empty string to reset the defaults to nothing. --> <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" /> <!-- <mntoptions deny="suid,dev" /> <mntoptions allow="*" /> <mntoptions deny="*" /> --> <mntoptions require="nosuid,nodev" /> <logout wait="0" hup="no" term="no" kill="no" /> <!-- pam_mount parameters: Volume-related --> <mkmountpoint enable="1" remove="true" /> </pam_mount>
server - машина, откуда производится монтирование. Обычно, если сеть не является доменной структурой, допустимо использование IPv4 адреса. path - каталог, который необходимо смонтировать с сервера mountpoint - точка монтированя, другими словами - куда монтировать ресурс. options - атрибуты монтирования
В приведённом выше примере разделяемый ресурс при входе любого пользователя монтируется в каталог /media/username. При этом выбраны опции монтирования, позволяющие осуществлять доступ к смонтированным данным в соответствии с правилами мандатного разграничения доступа. Если указать в параметрах тома mountpoint=/home/%(USER)/share1, то разделяемый ресурс будет монтироваться в подкаталог /share1/ домашнего каталога пользователя.
Для того, чтобы монтирование корректно выполнялось при входе с ненулевой меткой безопасности, нужно изменить PAM-стек так, чтобы автоматическое монтирование с помощью pam_mount выполнялось после определения значений мандатных атрибутов пользователя и создания домашнего каталога. Для этого: Добавить в файлы /etc/pam.d/postlogin вызова соответствующих модулей:
session optional pam_mount.so
Использование Kerberos при использовании модуля pam_mount
При использовании с аутентификацией Kerberos в строке опций монтирования должен быть указан параметр аутентификации sec=krb5i (предпочтительно с точки зрения безопасности, но требует больше ресурсов) или sec=krb5. В этом случае при монтировании будет использоваться текущий кэш Kerberos пользователя. Так же можно будет добавить атрибут disable_interactive к модулю pam_mount
session optional pam_mount.so disable_interactive
Атрибут disable_interactive необходим, чтобы модуль не запрашивал пароль пользователя повторно В строке опций монтирования должен присутствовать параметр cruid=%(USER), поскольку монтирование во время создания сессии выполняется от имени привилегированного пользователя. Для точки монтирования mountpoint должен быть указан отдельный каталог, например: /media/ad_share. Пример:
path="share" mountpoint="/media/ad_share" options="user=%(USER),rw,setuids,perm,soft,sec=krb5i,cruid=%(USERUID),iocharset=utf8,vers=2.0"
При подключении сетевой папки на windows server 2003 в опции монтирования надо дописать параметр vers=1.0, а так же логин и пароль не должны содержать кириллических символов. Обратите внимание, что начиная с версии ядра 5.15 в клиенте CIFS прекращена поддержка NTLM и менее надёжных алгоритмов аутентификации, основанных на алгоритме DES и используемых в протоколе SMB1.
Дата последнего изменения: 16.11.2022
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.