Сейчас я проработаю шаги, как настроить единую авторизацию через развернутый 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
, и авторизация успешна
Если посмотреть в правый угол страницы то видно, что аутентификация прошла, данный идентификатор соответствует учетной записи 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.