Наш wiki-портал переехал на новый движок и доступен по адресу http://wiki.astralinux.ru

Эта версия портала обновляться больше не будет.

Samba

Материал из AstraLinux Wiki
Перейти к: навигация, поиск

Содержание

Разделяемые каталоги и особенности монтирования сетевых файловых систем в операционной системе специального назначения «Astra Linux Special Edition»

Общие сведения

Операционная система специального назначения «Astra Linux Special Edition» (ОС СН) содержит в своем составе СЗФС CIFS, позволяющую создавать разделяемые файловые ресурсы (каталоги).

Существует возможность на серверах домашних каталогов (файл-серверах) заводить общие папки, доступные для пользователей. Для конфигурирования файл-сервера следует руководствоваться документацией и справкой по используемой ФС. Монтирование таких каталогов может быть выполнено при помощи команды mount или редактированием конфигурационного файла fstab. Автоматическое монтирование может быть обеспечено PAM-модулем pam_mount.

П р и м е ч а н и е. При необходимости работы с разделяемыми ресурсами с помощью стандартных утилит Samba (net, smbclient), в том числе с пользовательскими разделяемыми ресурсами (usershare), могут требоваться дополнительные настройки.

Создание разделяемых файловых ресурсов

Для создания разделяемого файлового ресурса (каталога) на компьютере должен быть установлен сервер Samba.

П р и м е ч а н и е. При работе в ЕПП отдельный файловый сервер может быть организован средствами ALD, для этого предназначен пакет ald-client-fs. При установке этого пакета на компьютер также устанавливаются необходимые пакеты Samba и формируются конфигурационные файлы. При установке, инициализации, удалении или запуске/остановке службы ALD основные конфигурационные файлы различных служб могут быть перезаписаны на основе шаблонов, что может повлечь потерю внесенных вручную изменений. Во избежание этого, внесение изменений должно осуществляться не только в основные конфигурационные файлы, но и в их шаблоны, расположенные в каталоге /etc/ald/config-templates.

Для создание разделяемого файлового ресурса необходимы выполнить следующие действия:

  • Создать каталог, который будет являться разделяемым файловым ресурсом, например:


mkdir /var/lib/samba/share1

  • Установить желаемые права доступа на созданный каталог.
  • Внести в конфигурационный файл Samba (/etc/samba/smb.conf и в соответствующий ему шаблон ALD) информацию о разделяемом файловом ресурсе (фрагмент smb.conf):


[share1]
available = yes
comment = Share for users
browseable = yes
case sensitive = yes
ea support = yes
fstype = Samba
path = /var/lib/samba/share1
writable = yes
smb encrypt = auto

  • Перезапустить службы Samba:

service samba restart

Описание конфигурационные параметры разделяемых файловых ресурсов приведено в руководстве man на конфигурационный файл smb.conf.

Доступ к разделяемым файловым ресурсам

Существует возможность использования различных схем организации доступа к разделяемым файловым ресурсам. В общем случае может быть использован доступ с аутентификацией средствами Samba. Для этого применяется собственная БД учетных записей Samba и утилита задания паролей smbpasswd, например вызов:

smbpasswd -a user

добавит в БД учетных записей Samba пользователя 'user' и запросит пароль для нее.
После этого для доступа может использована созданная учетная запись.
При использовании ЕПП применяется аутентификация Kerberos.
Дополнительные сведения приведены в руководстве man для утилит Samba.

Просмотр разделяемых файловых ресурсов

Просмотр доступных файловых ресурсов возможен с помощью утилит Samba:

  • поиск и просмотр дерева ресурсов:


smbtree -U пользователь

  • подключение к указанному ресурсу и работа с ним:


smclient //сервер/ресурс -U пользователь

Для указанных утилит необходимо задать имя пользователя с помощью опции -U. При этом будет запрошен пароль указанного пользователя.

При работе в ЕПП и использовании аутентификация Kerberos, указанные утилиты могут быть использованы с опцией -k. В этом случае для аутентификации используется текущий кэш билетов Kerberos (ограничения см ..6, 7).

ВНИМАНИЕ! Для корректной работы с аутентификацией Kerberos в качестве имени сервера должно использоваться его полное доменное имя (FQDN), например fileserver1.org.net.

Дополнительные сведения приведены в руководстве man для утилит Samba.
Возможно использование утилиты smbnetfs:

smbnetfs /точка_монтирования [опции]

Указанная утилита организует виртуальную файловую систему в указанной точке монтирования для доступа к разделяемым файловым ресурсам Samba. Доступ к тому или иному ресурсу выполняется обращением в указанную точку монтирования по пути вида «/точка_монтирования/сервер/ресурс», например:

smbnetfs /media/smb
ls -l /media/smb/fileserver1.org.net/share1

ВНИМАНИЕ! Для использования утилиты smbnetfs пользователь должен быть членом системной группы fuse.
Утилита smbnetfs использует возможности утилит Samba smbtree и smbclient.
Дополнительные сведения приведены в руководстве man для smbnetfs.
В графической сессии пользователя существует возможность работы с разделяемыми файловыми ресурсами с помощью раздела «Сеть» менеджера файлов fly-fm (ограничения см ..6, 7).

Монтирование разделяемых файловых ресурсов

Монтирование разделяемого файлового ресурса выполняется командой mount с указанием соответствующего типа сетевой ФС, например:

mount.cifs //сервер/ресурс /точка_монтирования [-o опции]
mount -t cifs //сервер/ресурс /точка_монтирования [-o опции]

Первый вариант команды доступен только суперпользователю.
В качестве опций команде могут передаваться параметры монтирования, такие как имя пользователя, используемый тип аутентификации, кодировка, использование прав доступа и т.п. Полный список опций приведен в руководстве man для команд mount и mount.cifs.
Без соответствующей записи в /etc/fstab пользователь может использовать команды монтирования только с помощью sudo (точка монтирования ~/share1 должна быть создана заранее):

sudo mount -t cifs //fileserver1.org.net/share1 ~/share1 -o user=пользователь

Для возможности монтирования разделяемого файлового ресурса пользователем в конфигурационный файл /etc/fstab должна быть объявлена строка монтирования, например следующего вида:

//fileserver1.org.net/share1 /media/share1 cifs
user,rw,noauto,iocharset=utf8,soft 0 0

Точка монтирования должна быть создана заранее и доступна пользователю, опция user предоставляет возможность монтирования указанного ресурса простому пользователю. Полный список опций приведен в руководстве man для команд mount и mount.cifs. Описание формата конфигурационного файла /etc/fstab приведено в руководстве man для fstab.
П р и м е ч а н и е. При использовании с аутентификацией Kerberos в ЕПП в строке опций должен быть указан параметр аутентификации sec=krb5i. В этом случае при монтировании будет использоваться текущий кэш Kerberos пользователя.

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

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

apt-get install libpam-mount

Настройка pam модуля осуществляется с помощью конфигурационного файла /etc/security/pam_mount.conf.xml.
Использование pam модуля указывается в соответствующих pam сценариях (common-auth, common-session) в каталоге /etc/pam.d.
Описание возможностей pam модуля pam_mount и формат его конфигурационного файла приведены в руководстве man для pam_mount и pam_mount.conf.
Для монтирования разделяемых файловых ресурсов СЗФС CIFS конфигурационный файл должен быть модифицирован следующим образом (в пределах тега pam_mount):

<logout wait="500000" hup="1" term="1" kill="1" />
<mkmountpoint enable="1" remove="true" />
<cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o
%(OPTIONS) </cifsmount>
<volume fstype="cifs" server="fileserver1.org.net"
path="share1" mountpoint="/home/%(USER)/share1"
options="user=%(USER),rw,setuids,perm,
soft,iocharset=utf8" />

Тег logout определяет поведение в процессе размонтирования ФС. К этому времени все процессы должны освободить точку монтирования, в противном случае им посылаются соответствующие сигналы прерывания работы.
Тег mkmountpoint отвечает за автоматическое создание и удаление точки монтирования.
Тег cifsmount определяет команду, с помощью которой монтируется указанный тип ФС.
Тег volume объявляет непосредственно параметры монтирования разделяемого файлового ресурса. Пользователь должен существовать в БД учетных записей Samba и иметь соответствующий пароль.
П р и м е ч а н и е. При использовании с аутентификацией Kerberos в ЕПП в строке опций монтирования должен быть указан параметр аутентификации sec=krb5i. В этом случае при монтировании будет использоваться текущий кэш Kerberos пользователя.
ВНИМАНИЕ. При использовании ЕПП в строке опций монтирования должен присутствовать параметр cruid=%(USERUID), поскольку монтирование во время создания сессии выполняется от имени привилегированного пользователя. Так же важно положение pam модуля в pam стеке. В файле common-auth вызов pam_mount должен находиться перед pam_ald, а в common-session — после, поскольку в случае монтирования в подкаталог домашнего каталога пользователя, тот сначала должен быть подготовлен модулем pam_ald. При этом для точки монтирования mountpoint должен быть указан домашний каталог пользователя ЕПП: mountpoint="/ald_home/%(USER)/share1".

Пример

В примере рассматривается стенд из 2 машин:

srv.ex.ru - контроллер домена ALD и сервер Samba;
clt.ex.ru - клиент ALD.

На srv.ex.ru запускаем скрипт:

# ald_samba_share_wiki.py srv.ex.ru

Выставляем максимальный уровень и флаг CCNR для каждой папки в пути /var/lib/samba/ald_share.
ВНИМАНИЕ! Путь расположения шары на сервере может быть изменен в скрипте, см. Описание скрипта. В папке /var/lib/samba/ald_share создаем количество папок равных количеству уровней с которыми планируется работать пользователям. Для удобства называйте их соответствующими именами, например /lvl0, /lvl1, /lvl2, /lvl3. Этим папкам необходимо присвоить соответствующий уровень и флаг CCNR.

На clt.ex.ru запускаем скрипт:

# ald_samba_share_wiki.py srv.ex.ru

Выставляем максимальный уровень и флаг CCNR для каждой папки в пути монтирования, по умолчанию это /media.

Перезапускаем сервис samba на srv.ex.ru. Теперь можно заходить пользователем ALD на clt.ex.ru и в /media/ald_share будет доступна смонтированная шара.

Описание скрипта

Особенности работы с разделяемыми файловыми ресурсами в версии ОС СН 1.3

Для работы с разделяемыми файловыми ресурсами в менеджера файлов fly-fm ОС СН версии 1.3 необходимо установить пакеты libqca2-plugin-ossl, gnome-keyring:

apt-get install libqca2-plugin-ossl gnome-keyring

После этого с помощью раздела «Сеть» менеджера файлов fly-fm появиться возможность работы с разделяемыми файловыми ресурсами.
При доступе к разделяемому файловому ресурсу будут запрошены имя пользователя и пароль.
ВНИМАНИЕ! В ОС СН версии 1.3 не поддерживается работа с разделяемыми файловыми ресурсами при использовании аутентификации по Kerberos (в случае работы в ЕПП) с помощью утилит smbclient и менеджера файлов fly-fm. В этом случае следует использовать монтирование таких ресурсов средствами mount (mount.cifs).

Особенности работы с разделяемыми файловыми ресурсами в версии ОС СН 1.4

Для работы с разделяемыми файловыми ресурсами в менеджера файлов fly-fm ОС СН версии 1.4 необходимо установить пакеты libqca2-qt5-plugin-ossl, fly-secretsservice:

apt-get install libqca2-qt5-plugin-ossl fly-secretsservice

После этого с помощью раздела «Сеть» менеджера файлов fly-fm появиться возможность работы с разделяемыми файловыми ресурсами.
При доступе к разделяемому файловому ресурсу будут запрошены имя пользователя и пароль.
В случае работы в ЕПП для доступа к разделяемому файловому ресурсу используется текущий кэш Kerberos пользователя.

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты