Клиентская файловая система SMB (Server Message Block, блок сообщений сервера)
Клиентская файловая система SMB основана на протоколе SMB версии 2.1 и версии 3.0.2. Через файловую систему клиента SMB можно получать доступ к файлам на сервере SMB.
Сервер SMB работает под управлением операционной системы Windows Server 2012, Windows Server 2016 или Windows Server 2019. В серверных операционных системах этих типов каталог можно экспортировать как общий ресурс. Этот общий ресурс можно смонтировать в логическом разделе AIX с помощью клиентской файловой системы SMB. Клиентская файловая система SMB позволяет работать с общими ресурсами серверов SMB как с локальными файловыми системами в логическом разделе AIX. С помощью клиентской файловой системы SMB можно создавать, удалять, считывать и записывать файлы и каталоги на сервере SMB, а также изменять продолжительность доступа к этим файлам и каталогам. Однако, вы не сможете изменить владельца этих файлов и каталогов или права доступа к ним.
- Согласование безопасного диалекта SMB 3.0.2
-
Общий ресурс сервера SMB можно смонтировать в виртуальной файловой системе (VFS) AIX с помощью протокола SMB версии 3.0.2.
Диалект SMB 3.0.2 предлагает безопасное согласование диалекта для защиты от рисков безопасности. В процессе согласования диалекта SMB 3.0.2 клиент SMB должен отправить обязательный подписанный запрос для проверки данных согласования.
- Подписание SMB 3.0.2
- Протокол SMB 3.0.2 использует более современный алгоритм шифрования цифровых подписей. Код идентификации сообщений на основе стандарта Advanced Encryption Standard (AES-128-CMAC) обеспечивает целостность сообщений, передаваемых между клиентом SMB и сервером SMB путем подписания исходящих сообщений и проверки входящих сообщений.
- Шифрование SMB 3.0.2
-
SMB предлагает сквозное шифрование данных SMB и обеспечивает защиту данных отперехвата в ненадежных сетях. Шифрование SMB можно настроить для каждого общего ресурса или для всего файлового сервера, и его можно включить для различных сценариев, в которых данные проходят по ненадежным сетям.
Нечувствительность к регистру символов в имени файла и каталога SMB 3.0.2
Клиент SMB 3.0.2 поддерживает только имена файлов и каталогов без учета регистра, которые соответствуют требованиям SMB-сервера, работающего под управлением ОС Windows.
Поддержка 8-битного формата Unicode (универсальный набор кодированных символов) (UTF-8) в SMB 3.0.2
SMB 3.0.2 поддерживает кодовый набор UTF-8 и позволяет преобразовывать набор кодов UTF-16, необходимый для сервера SMB. Поскольку операционная система AIX поддерживает набор кодов UTF-8, текстовые данные, передаваемые логическим разделам AIX и от них, имеют формат UTF-8. Клиент SMB 3.0.2 AIX преобразует набор кодов UTF-8 в набор кодов UTF-16 перед отправкой текстовых данных на сервер SMB и преобразует набор кодов UTF-16 в набор кодов UTF-8 после получения текстовых данных от сервера SMB.
Поддержка операции Live Update в SMB 3.0.2
SMB 3.0.2 поддерживает операцию Live Update с ограниченной функциональностью. В клиенте SMB 3.0.2 операция Live Update разрешена только в том случае, если отсутствуют смонтированные общие ресурсы SMB; в противном случае операция Live Update завершается неудачно. Поэтому необходимо размонтировать все общие ресурсы SMB перед запуском операции Live Update и смонтировать общие ресурсы SMB после завершения операции Live Update. Запрещается монтировать общие ресурсы SMB при выполнении операции Live Update.
Установка файловой системы клиента SMB
Клиентская файловая система SMB в AIX операционной системе требует, чтобы GSSAPI на основе Kerberos инициировал сеанс, аутентифицированный пользователем, с использованием протокола SMB версии 2.1 или версии 3.0.2. В операционной системе AIX GSSAPI
предоставляется библиотекой Userspace Library из набора файлов
IBM® Network Authentication Service (NAS) версии
1.16.1.0 или выше. SMB версии 3.0.2 использует библиотеку OpenSSL AIX для создания ключей для подписания и шифрования. Таким образом, необходимо установить набор файлов
openssl.base версии 1.0.2.2002 и выше. Эти наборы файлов включены в AIX пакет расширения и пакет загрузки веб-ресурсов AIX.
Для установки клиентской файловой системы SMB в AIXлогическом разделе выполните следующие действия:
- Перейдите на web-страницу AIX Web Download Pack Programs (Программы загрузки веб-ресурсов) и войдите в систему с помощью идентификатора и пароля IBM.
- Выберите опцию SMB CLIENT 3.0.2 for AIX 7.1 или SMB CLIENT 3.0.2 for AIX 7.2 и новее и щелкните Download (Загрузить).
Ваши идентификационные данные IBM должны давать право на загрузку пакета системных файлов клиента SMB. В противном случае вы не сможете загрузить пакет.
- Установите пакет smbc.rte с помощью команды
installp.
После установки пакета smbc.rte будет создано устройство
nsmbc0. Это устройство позволяет с помощью команды mount создавать соединения между сервером SMB и клиентской файловой системы SMB с помощью протокола клиента SMB версии 2.1 или 3.0.2.
Монтирование клиентской файловой системы SMB в качестве локальной точки монтирования
mount -v smbc -n windows_server/Kerberos_username/password_for_Kerberos_user \
-o wrkgrp=workgroup,[[port=139|445],[signing=required|enabled],[pver=2.1|3.0.2|auto], \
[encryption=desired|required|disabled],[secure_negotiate=desired|required|disabled] \
share_point_to_mount_created_on_windows local_mount_point
Например,mount -v smbc -n llm140.xyz.com/cec102usr1/Passw0rd \
-o "wrkgrp=SMB_302.test,port=445,signing=required,encryption=required, \
secure_negotiate=desired,pver=auto" /some_share /mntС помощью флага
-o в команде mount можно указать
следующие параметры. Параметры должны быть разделены запятыми. До или после запятой не
следует следует добавлять пробел.- fmode
- Устанавливает восьмеричный режим прав доступа для файла или каталога. Значение по умолчанию: 755.
- uid
- Присваивает ИД пользователя файлам во время монтирования. Значение по умолчанию:
root. - gid
- Присваивает ИД группы файлам во время монтирования. Значение по умолчанию:
system. - wrkgrp
- Задает рабочую группу, к которой принадлежит сервер SMB. Это обязательный параметр для монтирования клиентской файловой системы SMB.
- порт
- Задает номер порта. Допустимые значения: 445 и 139. Значение по умолчанию: 445. Порт 139 поддерживается только в том случае, если адрес сервера указан в формате IPv4.
- pver
- Задает версию протокола SMB для связи с сервером SMB. Допустимые значения: 2.1, 3.0.2 и
auto. Если указано значениеauto, то версия протокола SMB выбирается с учетом указанного сервера SMB. - signing
- Указывает, требует ли клиентская файловая система SMB цифровую подпись в процессе обмена данными. Допустимые значения:
enabled,required. Если для параметра signing указано значениеenabled, то клиентская файловая система SMB не подписывает пакеты данных, если файловая система сервера SMB не требует подписания передаваемых данных. Если для параметра signing указано значениеrequired, то клиентская файловая система SMB должна подписывать передаваемые пакеты данных. Если не указать значение параметраsigningпри помощи команды mount, будет использоваться значение по умолчанию из числа значений параметров ядра, которые задаются с помощью команды smbctune. - secure_negotiate
- Указывает, требует ли клиентская файловая система SMB применения шифрования. Допустимые значения:
desired,requiredиdisabled. Если этот параметр не указан в команде mount, будет использоваться значение по умолчанию из числа значений параметров ядра, которые задаются с помощью команды smbctune. - encryption
- Указывает, требует ли клиентская файловая система SMB применения шифрования. Допустимые значения:
desired,requiredиdisabled. Если этот параметр не указан в команде mount, будет использоваться значение по умолчанию из числа значений параметров ядра, которые задаются с помощью команды smbctune.
Идентификация Kerberos для клиентской файловой системы SMB
При выполнении команды файловой системы (например, команды чтения) для файла в клиентской файловой системе SMB на сервер SMB отправляется запрос на чтение файла. Запрос на чтение также содержит ИД идентифицированного сеанса. Сервер SMB использует ИД сеанса для проверки состояния идентификации пользователя и выполнения операции чтения файла. Таким образом, сервер SMB предоставляет доступ к файлу и разрешает или запрещает выполнение операции над файлом.
Параметр fmode команды mount позволяет пользователю root в клиентской файловой системе SMB управлять доступом к файлам на сервере SMB до того, как запрос будет отправлен на сервер SMB. Если значение опции fmode не задано, опция fmode использует значение по умолчанию 755. В следующей таблице продемонстрировано действие параметра fmode для различных операций:
| Номер примера | Пользователь, идентифицированный сервером SMB | Пользователь клиентской системы, запрашивающий доступ для записи | Владелец, группа и режим доступа монтирования | Владелец файла или каталога на сервере SMB и режим доступа на сервере SMB | Права доступа |
|---|---|---|---|---|---|
| Пример 1 | user1 | user2 |
user1, staff,
rwxr-xr-x |
user1, staff,
rwxrwxr-x |
нет |
| Пример 2 | user1 | root |
user1, staff,
rwxr-xr-x |
user2, staff,
rwxr-xr-x |
нет |
| Пример 3 | user1 | user1 |
user1, staff,
rwxr-xr-x |
user2, staff,
rwxrwxr-x |
да |
| Пример 4 | user1 | user1 |
user1, staff,
rwxr-xr-x |
root, system,
rwx------ |
нет |
| Пример 5 | user1 | user1 |
user1, staff,
rwxr-xr-x |
root, system,
rwxrwxrwx |
да |
В первом примере пользователю user2 запрещен доступ к файлу или
каталогу, поскольку как владелец, группа и режим в точке
монтирования на клиенте SMB не предоставили права на запись пользователю
user2.
Во втором примере пользователю root был запрещен доступ к файлу или каталогу. Хотя пользователь root и
обладает доступом ко всем объектам в клиенте SMB, идентифицированный сервером SMB
пользователь user1 не имеет прав доступа к файлу на сервере SMB.
В третьем примере пользователю user1 был предоставлен доступ к файлу
или каталогу, поскольку пользователь user1
был владельцем точки монтирования, а пользователь user1 из группы
staff на сервере SMB обладал правами доступа к файлу на этом сервере.
В четвертом примере пользователю user1 был запрещен доступ к файлу
или каталогу, хотя пользователь user1 и являлся владельцем точки
монтирования, файл на сервере SMB принадлежал пользователю root, и у
других пользователей и участников групп не было прав
доступа.
В случае 5 пользователь user1 имеет доступ к файлу или каталогу, поскольку указанный режим доступа задает все права доступа ко всем членам группы и другим пользователям.
Сохраненные пароли
Клиентская файловая система SMB может хранить имя сервера, имя пользователя и пароль в файле /etc/smbcred, чтобы обеспечить автоматическое извлечения паролей при монтировании клиентской файловой системы SMB. Можно просматривать, добавлять, изменять и удалять идентификационные данные из файла /etc/smbcred с помощью команд lssmbred, mksmbcred, chsmbcred и rmsmbcred, расположенных в каталоге /usr/sbin/. Пароли добавляются в файл /etc/smbcred в зашифрованном виде. При монтировании клиентской файловой системы SMB без указания пароля выполняется поиск идентификационных данных в файле /etc/smbcred. Если совпадение найдено, то применяется пароль из файла /etc/smbcred. В противном случае будет выведено стандартное приглашение AIX для ввода пароля.
- Для извлечения сохраненных паролей следует иметь согласованное соглашение об именах сервера. Например, если идентификационные данные добавляются с помощью IP-адреса, а не имени хоста или полного имени домена (FQDN), пароли будут извлекаться только при монтировании клиентской файловой системы SMB с помощью IP-адреса.
- Перед удалением набора файлов smbc.rte необходимо удалить запись идентификационных данных из файла /etc/filesystems.
Поддержка файла /etc/filesystems
Клиентская файловая система SMB поддерживает файл /etc/filesystems, обеспечивающий автоматическое монтирования файловых систем в ходе запуска. Кроме того, файл /etc/filesystems обеспечивает доступ к сохраненным данным, таким как имя сервера, имя пользователя, пароль и параметры конфигурации, при монтировании файловой системы.
Для управления клиентской файловой системой SMB в файле /etc/filesystems можно использовать команды lssmbcmnt, mksmmcmnt, chsmbcmnt и rmsmcmnt. Также можно добавлять записи клиентской файловой системы SMB вручную. При добавлении записей клиентской файловой системы SMB в файл /etc/filesystems в ручном режиме необходимо сохранить идентификационные данные клиентской файловой системы SMB в файле /etc/smbcred.
$cat /etc/filesystems
.....................
.....................
.....................
/mnt1:
dev = /fvt_share
vfs = smbc
mount = true
options = "wrkgrp=SMB_21.FVT"
nodename = <servername>/<username>
/mnt:
dev = /fvt_share
vfs = smbc
mount = true
options = "wrkgrp=SMB_21.FVT,signing=required"
nodename = <servername>/<username>
Поддержка интерфейса SMIT
- Выводить список точек монтирования клиента SMB
- Отображать настраиваемые параметры клиента SMB
- Конфигурировать идентификационные данные клиента SMB
- Добавлять и монтировать клиентскую файловую систему SMB
- Удалять и размонтировать клиентскую файловую систему SMB
- Изменять клиентскую файловую систему SMB
smit smbc