Содержание

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Samba - это реализация сетевого протокола SMB/CIFS. Эта программа облегчает организацию общего доступа к файлам и принтерам из систем Linux и Windows и является альтернативой NFS

Информация
iconfalse

Оглавление



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

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

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

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

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

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

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

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


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

Command
borderColor#c2e6ff
bgColor#e2f3ff

mkdir /var/lib/samba/share1


Или группу каталогов с различным мандатным контекстом:

Command

mkdir /var/lib/samba/share1

mkdir /var/lib/samba/share1/dsp

mkdir /var/lib/samba/share1/secret

mkdir /var/lib/samba/share1/topsecret


Установить желаемые дискретные атрибуты, например:

Command

chmod 777 /var/lib/samba/share1 -R


Разграничить мандатный доступ в соответствии с пунктом "4. МАНДАТНОЕ РАЗГРАНИЧЕНИЕ ДОСТУПА" документа "Руководство по КСЗ. Часть 1 РУСБ.10015-01 97 01-1"(ссылка):

Command

pdpl-file 3:0:-1:ccnr /var/lib/samba/

pdpl-file 3:0:0:ccnr /var/lib/samba/share1

pdpl-file 1:0:0 /var/lib/samba/share1/dsp

pdpl-file 2:0:0 /var/lib/samba/share1/secret

pdpl-file 3:0:0 /var/lib/samba/share1/topsecret


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

Блок кода
iconfalse
languagebash
title/etc/samba/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:

Command
borderColor#c2e6ff
bgColor#e2f3ff
service samba restart

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

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

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
smbpasswd -a user

добавит в БД учетных записей Samba пользователя 'user' и запросит пароль для нее.

После этого для доступа может использована созданная учетная запись.

При использовании ЕПП применяется аутентификация Kerberos.

Дополнительные сведения приведены в руководстве man для утилит Samba.

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

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

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
smbtree -U пользователь 

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
smbclient //сервер/ресурс -U пользователь

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

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

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

Дополнительные сведения приведены в руководстве man для утилит Samba.

Возможно использование утилиты smbnetfs:

Command
borderColor#c2e6ff
bgColor#e2f3ff
smbnetfs /точка_монтирования [опции]

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

Предупреждение
titleВНИМАНИЕ!
Для использования утилиты smbnetfs пользователь должен быть членом системной группы fuse.

Утилита smbnetfs использует возможности утилит Samba smbtree и smbclient.

Дополнительные сведения приведены в руководстве man для smbnetfs.

Примечание

Для отображения ресурса в файловом менеджере fly-fm, на сервере следует изменить в файле /etc/samba/smb.conf опцию в секции global на

Блок кода
disable netbios = no

Для отображения ресурсов в разделе «Сеть» менеджера файлов fly-fm: см Особенности работы с разделяемыми файловыми ресурсами в версии ОС СН 1.3 и 1.4.

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

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

Command
borderColor#c2e6ff
bgColor#e2f3ff

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

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

Первый вариант команды доступен только суперпользователю.

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

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

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

Блок кода
iconfalse
languagebash
title/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.

Примечание
titleПримечание
При использовании с аутентификацией Kerberos в ЕПП в строке опций должен быть указан параметр аутентификации sec=krb5i. В этом случае при монтировании будет использоваться текущий кэш Kerberos пользователя.

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

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
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):

Блок кода
languageactionscript3
title/etc/security/pam_mount.conf.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">

<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="share" mountpoint="/media/share"
options="user=%(USER),rw,setuids,perm,soft,iocharset=utf8" />

</pam_mount>
Предупреждение
titleВнимание

При использовании с аутентификацией Kerberos в ЕПП в строке опций монтирования должен быть указан параметр аутентификации sec=krb5i. В этом случае при монтировании будет использоваться текущий кэш Kerberos пользователя.

Так же в строке опций монтирования должен присутствовать параметр cruid=%(USERUID), поскольку монтирование во время создания сессии выполняется от имени привилегированного пользователя.

Для точки монтирования mountpoint должен быть указан отдельный каталог, например: /media/ald_share

Пример:

path="share" mountpoint="/media/ald_share"
options="user=%(USER),rw,setuids,perm,soft,sec=krb5i,cruid=%(USERUID),iocharset=utf8" />
Информация

Тег logout определяет поведение в процессе размонтирования ФС. К этому времени все процессы должны освободить точку монтирования, в противном случае им посылаются соответствующие сигналы прерывания работы.

Тег mkmountpoint отвечает за автоматическое создание и удаление точки монтирования.

Тег cifsmount определяет команду, с помощью которой монтируется указанный тип ФС.

Тег volume объявляет непосредственно параметры монтирования разделяемого файлового ресурса. Пользователь должен существовать в БД учетных записей Samba и иметь соответствующий пароль.



Пример:

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

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

clt.ex.ru - клиент ALD.

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
ald_samba_share_wiki.py srv.ex.ru

Выставляем максимальный уровень и флаг CCNR для каждой папки в пути /var/lib/samba/ald_share.

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

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
ald_samba_share_wiki.py srv.ex.ru

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

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

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

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

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

Command
borderColor#c2e6ff
bgColor#e2f3ff
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:

Command
borderColor#c2e6ff
bgColor#e2f3ff
apt-get install libqca2-qt5-plugin-ossl fly-secretsservice

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

При доступе к разделяемому файловому ресурсу будут запрошены имя пользователя и пароль.

В случае работы в ЕПП для доступа к разделяемому файловому ресурсу используется текущий кэш Kerberos пользователя.