OwnCloud Auth OpenLDAP

Posted by

Сейчас я проработаю шаги, как настроить единую авторизацию через развернутый LDAP сервис на базе связки slapd + phpldapadmin которую я ранее выложил в публичный доступ на своем блоге. Как можно понять из названию статьи это будет: OwnCloud 10 + OpenLDAP (slapd + phpldapadmin). Целью которую я преследую — это чтобы в моей локальной сети была единая идентификационная запись для всех сервисов, а не как сейчас все разрознено.

Что понадобится:

1) Развернут сервис OwnCloud 10 см. заметку . Опять же в статье с применением Web-сервиса Apache2, я же здесь и сейчас использую Nginx.

2) Развернут сервис OpenLDAP (slapd + phpldapadmin), можно и на этой же системе, ведь я прорабатываю шаги. Связка поднята по заметке tips_ubuntu_18_04_phpldapadmin_nginx_v1.odt, но она не опубликована на блоге, а располагается в приватной вики, на блоге связка phpldapadmin + apache2.

Замечу что все делается на Ubuntu 18.04 Server amd64

Шаг №1: Через phpldapadmin создаю

  • OU=OwnCloud
  • CN=Group_OwnCloud
  • CN=ldap_user_owncloud
  • Pass for ldap_user_owncloud: Aa1234567

Шаг №2: Заходим на Web-интерфейс OwnCloud — https://172.33.33.14 — авторизуемся, затем в левом углу выбираем Файлы — Market — Integration, находим «LDAP Integration», щелкаем по найденному левой кнопкой мыши и нажимаем «Установить»

Шаг №3: Производим настройку связки OwnCloud на OpenLDAP

через правый угол выбираю ekzorchik — Настройки — (Администрирование) Аутентификация пользователя -

вкладка «Сервер»:

  • Сервер: 172.33.33.14
  • Порт: 389
  • DN пользователя: cn=ldap_user_owncloud,cn=Group_OwnCloud,ou=OwnCloud,dc=polygon,dc=local
  • Пароль: Aa1234567
  • По одной базе поиска (Base DN) в строке: dc=polygon,dc=local

и нажимаю «Проверить базу поиска DN» в ответ «Конфигурация в порядке (зеленый кружок)», только после этого нажимаю «Продолжить», (Вкладка «Пользователи») нажимаю «Продолжить», (Вкладка «Учетные данные»)

  • Имя пользователя LDAP/AD: отмечаю галочкой
  • Другие атрибуты: CN
  • Фильтр LDAP: (&(|(objectclass=posixAccount))(|(uid=%uid)(|(cn=%uid))))

Для проверки в после

  • Проверить логин: указываю ldap_user_owncloud

и нажимаю «Проверить настройки», в ответ получаю сообщение «Пользователь найден и настройки проверены.».

Все внесено и нажимаю «Продолжить», (Вкладка «Группы)

  • Только эти классы объектов: posixGroup
  • Только из этих групп: Group_OwnCloud
  • Фильтр: (&(|(objectclass=posixGroup))(|(cn=Group_OwnCloud)))

нажимаю «Проверить настройки и пересчитать группы» — ответ 1 группа найдена. Все настройки аутентификации пользователей в OwnCloud завершены.

Выхожу из сессии учетной записи ekzorchik - Выйти

Шаг №4: Проверяю, через phpldapadmin в группу Group_OwnCloud добавляю учетную запись alektest (Pass: Aa1234567) и проверяю что могу авторизоваться в OwnCloud

https://IP&DNS/login && https://172.33.33.14/login

  • Имя пользователя: указываю alektest
  • Пароль: Aa1234567

и нажимаю клавишу Enter, и авторизация успешна

Авторизация с помощью учетной записи OpenLDAP - успешна

Если посмотреть в правый угол страницы то видно, что аутентификация прошла, данный идентификатор соответствует учетной записи alektest, проверить можно:

Отлично, жалко конечно что OwnCloud не показывает логин того кто авторизован, но может так кстати и лучше, для постороннего логин не известен.

Если посмотреть всех пользователей сервиса OwnCloud то значится UUID:

В списке всех пользователей OwnCloud также значится UUID OpenLDAP сервиса

Итого я практически разобрал как настроить связку OwnCloud + OpenLDAP по группам доступа. Мне главное было начать использовать в последствии я привяжу доступ не по логину, а по почтовому ящику, но это потом. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.