5.8 Автоматическое монтирование ресурсов при входе пользователя с помощью pam_mount

Для автоматического монтирования разделяемых файловых ресурсов при входе пользователя используется pam модуль pam_mount, предоставляемый пакетом pam_mount, то есть для автоматического монтирования разделяемых файловых ресурсов на компьютере-клиенте должны быть установлены пакет cifs-utils и pam_mount:

 yum install cifs-utils pam_mount

Настройка модуля pam_mount осуществляется с помощью конфигурационного файла /etc/security/pam_mount.conf.xml
Описание возможностей модуля 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" />
<cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT)
-o %(OPTIONS) </cifsmount>
<!--
pam_mount parameters: General tunables -->
<!-- Описание тома, который должен монтироваться -->
<volume
fstype="cifs"
server="127.0.0.1"
path="share1"
mountpoint="/media/%(USER)" 
options="user=username,pass=password,sec=ntlm"/>

<!-- <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"
Важно

при подключении сетевой папки на windows server 2003 в опции монтирования надо дописать параметр vers=1.0, а так же логин и пароль не должны содержать крилических символов

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email