Файловая система Server Message Block (SMB)

Файловая система Server Message Block (SMBFS) позволяет обращаться к общим каталогам на серверах SMB как к локальным файловым системам AIX, используя протокол SMB версии 1.0.

В такой файловой системе пользователь может создавать, удалять, считывать и записывать файлы, а также изменять время обращения к файлам и каталогам. Владельца и режим доступа к файлам и каталогам изменить нельзя.

SMBFS позволяет работать с файлами на сервере SMB. В роли сервера SMB может выступать сервер, на котором работает Samba либо сервер или рабочая станция Windows XP, Windows NT или Windows 2000. Все эти серверы позволяют экспортировать каталог как общий ресурс. Этот общий каталог можно смонтировать в системе AIX с помощью SMBFS.

Установка файловой системы SMB

Для того чтобы установить SMBFS в системе AIX, установите пакет bos.cifs_fs.

После установки пакета bos.cifs_fs будет создано устройство nsmb0. Это устройство позволяет с помощью команды mount создавать соединения между сервером SMB и клиентом с помощью протокола SMB версии 1.0.

Монтирование файловой системы SMB

Для монтирования SMBFS применяется команда AIX mount. Например:
mount -v cifs -n pezman/user1/pass1 -o uid=201,fmode=750 /home /mnt
Параметры монтирования задаются с флагом -o. Параметры в командной строке следует разделять запятой без пробела после нее. Опции файловой системы:
Флаг Описание
fmode Устанавливает восьмеричный режим для файла. Значение по умолчанию - 755.
uid Присваивает UID файлам во время монтирования. Значение по умолчанию - root.
gid Присваивает GID файлам во время монтирования. Значение по умолчанию - system.
wrkgrp Рабочая группа, к которой принадлежит сервер SMB.
op Устанавливает значение 1 при использовании доверительной блокировки. Устанавливает значение 0, если доверительная блокировка не используется.
opfs Имя кэша, используемого файловой системой для хранения файлов кэша блокировки.
opsz Размер отдельных файлов кэша, используемых для доверительной блокировки.
opfssz Размер кэша файловой системы для доверительной блокировки.

Кроме того, смонтировать файловую систему можно с помощью инструмента SMIT smit cifs_fs, который запускает команду mount, собрав всю необходимую информацию.

Для монтирования SMBFS необходимо ввести имя пользователя и пароль для идентификации на сервере. Эти имя пользователя и пароль будут применяться при выполнении на сервере всех необходимый операций с файлами. Поле Пароль в меню SMIT не помечено как обязательное. Если пароль в поле не указан, будет выполнен поиск в файле cifscred на предмет наличия идентификационных данных пользователя или сервера, совпадающих с предоставленными. При обнаружении совпадения будет использоваться сохраненный пароль из файла cifscred, иначе пользователю будет предложено ввести пароль с помощью стандартного приглашения AIX. Таким образом пользователь может ввести пароль, не раскрывая его.
Прим.: Длина пароля, применяемого для монтирования SMBFS, не должна превышать 14 символов; в пароле допустимы специальные символы.

При активации команды файловой системы (например, команды чтения) для файла в точке монтирования SMBFS на сервер отправляется запрос на чтение файла. Вместе с запросом отправляются имя пользователя и пароль, по которым сервер определяет наличие у пользователя прав на чтение данного файла на сервере. Таким образом, решение о предоставления доступа к файлу остается за сервером.

Однако опция fmode команды mount позволяет пользователю root в системе клиента управлять доступом к файлам на сервере до того, как запрос будет отправлен на сервер. Если опция fmode не задана, то по умолчанию применяется значение 755. В следующей таблице продемонстрировано действие опции fmode для запроса на запись:
Табл. 1. Пять примеров, в которых пользователям был предоставлен или запрещен доступ, в зависимости от предоставленных прав доступа.
Номер примера Пользователь, идентифицированный сервером Пользователь клиента, желающий получить доступ для записи Владелец, группа и режим монтирования Владелец, группа и режим на сервере Доступ предоставлен
Пример 1 user1 user2
user1, staff
rwxr-xr-x
user1, staff
rwxrwxr-x
no
Пример 2 user1 корневой
user1, staff
rwxr-xr-x
user2, staff
rwxr-xr-x
no
Пример 3 user1 user1
user1, staff
rwxr-xr-x
user2, staff
rwxrwxr-x
yes
Пример 4 user1 user1
user1, staff
rwxr-xr-x
root, system
rwx------
no
Пример 5 user1 user1
user1, staff
rwxr-xr-x
root, system
rwxrwxrwx
yes

В первом примере доступ запрещен, так как владелец, группа и режим в точке монтирования на клиенте не предоставили доступ пользователю user2.

Во втором примере доступ был запрещен. Хотя пользователь root и обладает доступом ко всем объектам в системе клиента, идентифицированный сервером пользователь user1 не имеет прав доступа к файлу на сервере.

В третьем примере доступ был предоставлен, так как пользователь user1 был владельцем точки монтирования, а пользователь user1 из группы staff на сервере обладал правами доступа к файлу на этом сервере.

В четвертом примере доступ был запрещен, так как, хотя пользователь user1 и являлся владельцем точки монтирования, файл на сервере принадлежал пользователю root, и у других пользователей и групп прав доступа к этому файлу не было.

В пятом примере доступ был предоставлен, так как пользователь user1 был владельцем точки монтирования, и пользователь user1 на сервере получил доступ к файлу через другие права доступа.

Примечания:
  1. Клиент SMBFS AIX поддерживает только SMBv1.
  2. В смонтированной файловой системе операция копирования одного файла в другой выполняется успешно для файла, размер которого равен 4 ГБ + 4096 байт или менее. Для файлов, размеры которых превышают указанный, выдается предупреждающее сообщение, и в целевую точку копируются 4 ГБ + 4096 байт исходного файла.
  3. В смонтированной файловой системе в именах файлов недопустимы следующие символы: обратная косая черта {\}, прямая косая черта {/}, двоеточие {:}, звездочка {*}, знак вопроса {?}, меньше {< }, больше {>}, вертикальная черта { | }.

Сохраненные пароли

SMBFS может сохранять идентификационные данные server/user/password в файле /etc/cifs_fs/cifscred для автоматического извлечения паролей при монтировании SMBFS.

Идентификационные данные можно добавлять, изменять и удалять из этого файла с помощью команд mkcifscred, chcifscred и rmcifscred (находящихся в файле /usr/sbin). Добавляемые в этот файл пароли шифруются. При попытке выполнения монтирования без указания пароля, происходит поиск соответствующих идентификационных данных в файле cifscred. При обнаружении совпадения будет использоваться сохраненный пароль из файла cifscred, иначе пользователю будет предложено ввести пароль с помощью стандартного приглашения AIX.

Поддержка сохранения паролей обладает следующими ограничениями:
  • Для надлежащего функционирования извлечения сохраненных паролей следует иметь согласованное соглашение об именах сервера. Например, если идентификационные данные добавляются с помощью IP-адреса, а не имени хоста или полного имени домена (FQDN), пароли будут извлекаться только при монтировании по IP-адресу.
  • Идентификация с незашифрованными паролями при использовании метода извлечения сохраненных паролей не поддерживается. Если серверу требуется применение незашифрованных паролей, произойдет сбой идентификации.

Поддержка /etc/filesystems

SMBFS поддерживает /etc/filesystems для автоматического монтирования при запуске системы.

Поддержка /etc/filesystems также обеспечивает доступ при монтировании к сохраненным данным сервера, пользователя, паролю и опций. С помощью команд mkcifsmnt, chcifsmnt, rmcifsmnt и lscifsmnt (расположенных в каталоге /usr/sbin) можно добавить, изменить, удалить и просмотреть разделы cifs в /etc/filesystems. Идентификационные данные следует хранить в файле cifscred.

Устранение неполадок SMBFS

Если команда mount или команда быстрого доступа smit cifs_fs возвратит сообщение об ошибке, выполните следующие действия по исправлению:
  • Проверьте правильность имени пользователя и пароля. Имя пользователя и пароль необходимы для предоставления доступа к общему каталогу на сервере.
  • Проверьте правильность имени сервера. Если имя сервера указано верно, то укажите полное имя хоста в случае, если сервер и клиент находятся в разных подсетях. Кроме того, можно задать IP-адрес сервера.
  • Убедитесь в том, что команда lsdev -L|grep nsmb возвращает имя устройства. Если устройство nsmb недоступно, то клиент AIX не может установить соединение с сервером SMB.
  • Проверьте правильность указанного имени общего каталога. Если каталог на сервере не существует или недоступен для заданных имени пользователя и пароля, то сервер SMB не выполнит запрос на установление соединения.
  • Соберите системные данные трассировки для SMBFS, используя ИД события 525.
  • Убедитесь, что сервер настроен для приема NTLM, LM и незашифрованных паролей. Это единственные типы шифрования паролей, поддерживаемые в SMBFS.
  • При необходимости выполнения идентификации в домене, имя домена должно быть указано опцией wrkgrp. Без этой опции идентификация обрабатывается сервером локально.