Назад | Перейти на главную страницу

Использование Open Directory для автоматической аутентификации общих ресурсов на QNAP NAS

Я пытаюсь заставить клиентскую машину OS X автоматически аутентифицироваться в общем ресурсе QNAP, используя отдельный сервер LDAP Open Directory.

(Примечание: я использую example.com ниже, чтобы скрыть настоящее имя сервера в том виде, в котором оно отображается в данный момент)

В сети есть:

  1. Компьютер OSX Server с запущенным Open Directory (например, сервер master.example.com)

  2. Несколько клиентских машин OSX подключаются к серверу и проходят аутентификацию с помощью сетевых учетных записей.

Эта часть пока работает хорошо.

Теперь я добавляю отдельный NAS от QNAP в качестве файлового сервера (TVS-871T для справки), например называется server.example.com

Я настроил QNAP Nas на использование сервера OSX для аутентификации LDAP на панели управления в разделе «Безопасность домена».

Server: master.example.com
Base DN: dc=master,dc=example,dc=com
Root DN is the Open directory admin: uid=keymaster,dc=master,dc=example,dc=com
Users Base DN is: cn=users,dc=master,dc=example,dc=com
Groups Base DN is: cn=groups,dc=master,dc=example,dc=com

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

Я могу вручную смонтировать общий ресурс из клиента afp (Cmd + K) и ввести имя пользователя и пароль.

Все идет нормально.

Теперь о проблеме ... Я пытаюсь заставить все сетевые учетные записи автоматически монтировать общий ресурс при входе в систему.

Обычно я бы настроил это в диспетчере профилей сервера OSX как аутентифицированное сетевое монтирование (которое автоматически использует сетевую учетную запись пользователя для аутентификации во время операции монтирования). Это проверено и хорошо работает, если оно принадлежит самому мастеру открытого каталога.

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

Кажется, что он не может войти в систему. Даже если я повторно введу пароль, он все равно не захочет входить в систему.

Консоль показывает ошибку в NetAuthSysAgent AFP_OpenSession – Login failed with 80

Теперь, что интересно, если я попытаюсь войти в систему с коротким именем пользователя - например, joesmith в этом случае - тогда он входит в общий ресурс.

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

Есть ли способ заставить это работать? Мне не хватает настройки в конфигурации QNAP ldap, чтобы это работало?

Следует ли настраивать соединение LDAP на сервере QNAP иначе, чтобы разрешить систему аутентификации от клиентов OSX?

Редактировать:

Я немного покопался с помощью Wireshark на сервере OD, чтобы увидеть, что отправляет устройство QNAP (я явно в отчаянии), и я вижу, что устройство QNAP выполняет (&(objectClass=posixAccount)(uid=Joe Smith)) запрос к мастеру OD, который подтверждает предположение, что он отправляет неправильные учетные данные.

Используя ldapsearch, я тоже могу это воспроизвести. Если я изменю запрос с uid к cn затем он работает в командной строке. Не уверен, что смогу изменить способ отправки QNAP своего поискового фильтра.

Изменить 2:

Я могу заставить диск QNAP использовать CN вместо uid, отредактировав:

/mnt/HDA_ROOT/.config/nss_ldap.conf

и добавление

nss_map_attribute uid cn

к нему.

затем /etc/init.d/ldap.sh restart

Это позволяет мне войти в систему с полным именем.

Однако это нарушает ACL групп.

Если снова взглянуть на Wireshark, то для проверки подлинности ldap теперь также используется CN для проверки членства в группе: (&(objectClass=posixGroup)(memberUid=Joe Smith))

Работает, если вы даете отдельным пользователям общий доступ, но я хочу использовать групповые ACL :(

Изменить 3:

пам лдап похоже, есть опция под названием pam_login_attribute это было бы именно то, что мне нужно, но nss ldap, похоже, не использует его или не имеет аналогичной альтернативы.