Клиентская файловая система 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