-Поиск по дневнику

Поиск сообщений в rss_rss_hh_new

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2011
Записей:
Комментариев:
Написано: 51


Мультипротокольный NAS-доступ к Netapp-ресурсам c ACLs

Среда, 09 Августа 2017 г. 15:18 + в цитатник
imageНебольшое предисловие к статье. Заказчик выставил требование организовать доступ по CIFS (SMB) к некоторым NFS-экспортам, которые лежат на NetApp. Звучит вроде бы несложно: нужно создать CIFS-шару на уже экспортированном qtree. Позже было выставлено требование, что нужно гранулярно управлять доступом на эти шары. Опять-таки задача выглядит решаемой: это можно контролировать и с NetApp и через оснастку Shared Folders (share permissions). Затем выяснилось, что нужно варьировать доступ к различным подпапкам на CIFS-шаре. Это уже оказалось нетривиальной задачей. Так как нужно было настроить списки контроля доступа (ACL) и для CIFS и для NFS к одним и тем же данным.

На первый взгляд, можно воспользоваться классическими правами доступа в Linux. У каждой папки и файла есть атрибуты владельца, группы владельца и others (все остальные). Ниже приведен пример классических прав доступа в Linux.
image

Но что делать, если нужно более гранулярно контролировать доступ? POSIX ACLs? Они не поддерживаются NetApp. В итоге единственным решением оказались NFSv4 ACLs.

В этой статье предлагаем описание того, как транслировать NFSv4 ACLs для Windows-пользователей. Будем проводить нашу настройку пошагово. Стиль будет максимально сжатый и емкий. Я не буду останавливаться на каждом пункте подробно, к тому же не буду приводить детального листинга всех команд. Итак, приступим.

Привязка NetApp к LDAP


Предполагается, что в данной инфраструктуре существует сервер LDAP, через который происходит авторизация и аутентификация пользователей. Поэтому маппинг не используется и соответственно файл usermap.cfg не правится. Также не нужно вносить изменений в файлы passwd и group — все пользователи и группы берутся из LDAP. Ниже приведены параметры необходимые для нормальной работы сцепки:

image

Их необходимо выполнить на целевом vFiler. Отмечу, что существуют различные вариации этих настроек. И в вашей конкретной инфраструктуре это может не взлететь. В нашем случае мы цеплялись к AD DC с FSMO ролью Global Catalog. Проверка работоспособности сцепки на NetApp возможно провести командами getXXbyYY и wcc. Эти команды можно выполнить только в advanced mode.

Примеры корректной работы команды getXXbyYY:
image

Если эта команда не возвращает подобный вывод, значит что-то настроено не так.

Для того, чтобы корректно работало разрешение имен и групп, в Unix-средах нужно сделать правки в файле /etc/nsswitch.conf. Выставляем в начало ldap для строк passwd и group:
passwd: ldap nis files
group: ldap nis files

Есть небольшая ремарка относительно корректной работы групп в случае использования LDAP. Внутри групп, которые будут иметь доступ к Linux и Windows средам одновременно, должен быть заполнен атрибут ‘memberUid’. Важно: он должен быть заполнен в нижнем регистре. В атрибут необходимо прописать пользователей этой группы. Ниже выделено поле memberuid в атрибутах группы, которая должна быть доступна в средах Linux и Windows.

image

Конфигурация NFSv4 на NetApp.


Мы хотим транслировать NFSv4 permissions (читай UNIX) в Windows среду, то есть они будут основными списками контроля доступа. Поэтому мы будем использовать для наших томов/qtree UNIX-style permissions.

Создаем том/qtree, создаем на нем экспорт NFS. В файле /etc/exports видим следующую картину:

/vol/xxx_VFILER03_nfs_vol00/ACL_test -sec=sys,rw,root=192.168.0.1,nosuid

Делаем настройку следующих опций:
image

Конфигурация NFSv4 ACLs на Linux


Следующие настройки необходимо выполнить на конечном Linux сервере, на который и монтируется наш экспорт с NetApp.

Монтируем экспорт со следующими опциями:
nfs acl,defaults,intr,hard,bg,tcp,auto,rw 0 0

Затем уже внутри нашего экспорта назначаем ACLы согласно нашим потребностям. NFSv4 ACLs чуть помощнее чем POSIX ACLs и довольно близки к CIFS ACLs. Существует 2 команды для работы со списками: nfs4_getfacl и nfs4_setfacl. Нетрудно догадаться, что одной командой мы считываем имеющиеся списки доступа, а второй назначаем. Ниже пример настройки NFSv4 ACLS на папку test:
image
Где А – allow, D – deny.

При внесении изменений воспользуемся командой:
image
Тогда конфиг откроется в текстовом редакторе.

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

Теперь необходимо настроить доступы. После этого проверяем, что на Linux нужные права для нужных пользователей.

Создание CIFS шары на NetApp


Для этого настраиваем сервисы CIFS через cifs setup.
После этого создаем CIFS шару на файлере на тот же том/qtree, на котором у нас лежит экспорт.
image
Права при создании шары оставляем EVERYONE/FULL CONTROL. Это нужно для того, чтобы не было лишних ограничений на уровне шары.
image
Права на уровне файловой системы уже регулируются при помощи инструмента NFSv4 ACLs.

Это было финальной настройкой. Теперь подключаемся теми же юзерами, которыми подключались в Linux, и проверяем доступ. У NetApp есть старая утилита, которая показывает Linux permissions в средах Windows. Называется она SecureShare. Можно также воспользоваться для проверки и ею. Ниже скриншот дополнительной вкладки после установки утилиты SecureShare.

image
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/335256/

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку