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

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

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

ekzorchik@srv-bionic:~$ hg clone ssh://ekzorchik@172.35.35.8://var/www/html/hg/ownproject

hg clone --insecure https://ekzorchik@172.35.35.8/hg/ownproject

ekzorchik@srv-bionic:~$ cd ownproject/

ekzorchik@srv-bionic:~/ownproject$ sudo ./own_nginx.sh

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
ekzorchik@srv-bionic:~$ sudo slapcat | grep ldap

dn: cn=ldap_user_owncloud,cn=Group_OwnCloud,ou=OwnCloud,dc=polygon,dc=local

givenName: ldap_user_owncloud

sn: ldap_user_owncloud

cn: ldap_user_owncloud

uid: ldap_user_owncloud

homeDirectory: /home/users/ldap_user_owncloud

Шаг №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, проверить можно:

ekzorchik@srv-bionic:~$ sudo slapcat | grep -P -e '(dn: cn=alektest|entryUUID: )' | tail -n 2

dn: cn=alektest,cn=Group_OwnCloud,ou=OwnCloud,dc=polygon,dc=local

entryUUID: 50929082-117e-1039-9d77-4b74fe2cb0d3

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

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

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

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

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru