Сейчас я проработаю шаги, как настроить единую авторизацию через развернутый 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=OwnCloudCN=Group_OwnCloudCN=ldap_user_owncloudPass 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Порт: 389DN пользователя: 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, и авторизация успешна
Если посмотреть в правый угол страницы то видно, что аутентификация прошла, данный идентификатор соответствует учетной записи 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 + OpenLDAP по группам доступа. Мне главное было начать использовать в последствии я привяжу доступ не по логину, а по почтовому ящику, но это потом. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

