Перейти к основному содержанию

OwnCloud — LDAP/AD интеграция

Owncloud

OwnCloud — это свободное и открытое веб-приложение для синхронизации данных и совместной работы с файлами в стиле Dropbox. Замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища.

https://owncloud.com

OwnCloud — установка на Ubuntu 20.04

Если нам выпало счастье интегрировать корпоративное хранилище OwnCloud с доменом Windows, то такая возможность существует.

Сегодня будем настраивать LDAP аутентификацию для OwnCloud. Поскольку этот проект похож на NextCloud, инструкция подойдёт для обоих.

NextCloud — LDAP/AD интеграция

Документация:

https://doc.owncloud.com/server/next/admin_manual/configuration/user/user_auth_ldap.html

Подготовка

Для работы LDAP требуется модуль PHP LDAP. Устанавливаем php-ldap, хотя при установке вы уже должны были установить этот пакет. Возможности:

  • Поддержка LDAP групп
  • Расшарить файл пользователю или группе
  • Доступ через WebDAV и OwnCloud Desktop Client
  • Версионность, внешнее хранилище и другие функции OwnCloud
  • Бесшовное соединение с Active Directory без дополнительных настроек
  • Поддержка основных групп в Active Directory (врут, вот это не полностью)
  • Только доступ на чтение к LDAP (редактирование и удаление пользователей LDAP не поддерживается)

Если вы планируете использовать LDAPS, то вам понадобится Windows Server CA сертификат в формате PEM с расширением CRT. Импортируем его в /usr/local/share/ca-certificates/ и запускаем update-ca-certificates.

На странице приложений включаем "LDAP Integration".

Создаём в AD (это моя тестовая структура, ваша может отличаться).

  • Сервисную учётную запись для чтения каталога LDAP:
    • ldap-viewer
  • Группы доступа пользователям OwnCloud:
    • owncloud
    • и другие группы, например, для администрирования или для настроек доступа по разным отделам, я для теста создаю ещё группы fs, groupA, groupB.

Настройка LDAP/LDAPS

Переходим под локальным админом OwnCloud в Настройки → Администрирование → Аутентификация пользователей → LDAP.

Сервер

Указываем путь к основному серверу LDAP. Можно использовать LDAP (389 порт по умолчанию) или LDAPS (636 порт по умолчанию). При необходимости можно добавить несколько серверов.

  • ldaps://ilab-dc.ilab.local 636

Указываем имя сервисного пользователя и пароль. Сохранить учётные данные.

  • ldap-viewer

Определяем основную базу поиска DN. Можно определить основную базу DN кнопкой. В ней будут искаться пользователи, группы, сервисная учётная запись. DN для пользователей и групп потом можно переопределить в дополнительных настройках. При необходимости можно вверси LDAP фильтры вручную. Чем меньше объектов будет обрабатывать OwnCloud, тем быстрее будет работать аутентификация и LDAP/AD интеграция. Можно проверить базу поиска DN.

  • dc=ilab,dc=local

Продолжить.

owncloud

Пользователи

Настраиваем критерии, по которым проходит поиск пользователей в AD. Указываем классы объектов.

  • user

Выбираем группы, в которых искать пользователей. Группы выбираются из основного DN, или DN пользователей, переопределённый в дополнительных настройках.

  • owncloud
  • fs
  • groupA

Можно проверить настройки и пересчитать пользователей. При необходимости LDAP фильтр можно изменить.

Продолжить.

owncloud

Учётные данные

Настраиваем учётные данные для входа. Можно входить по логину или по email.

Указываем дополнительный атрибут для входа.

  • sAMAccountName

При необходимости LDAP фильтр можно изменить. Можно проверить настройки и логин пользователя.

Продолжить.

owncloud

Группы

Настраиваем критерии, по которым проходит поиск групп в AD. Указываем классы объектов.

  • group

Выбираем группы.

  • owncloud
  • fs
  • groupA

Можно проверить настройки и пересчитать группы. При необходимости LDAP фильтр можно изменить.

owncloud

Дополнительно

Настройки подключения

Здесь можно задать дополнительные опции LDAP.

  • Указать адрес и порт резервного LDAP сервера, которые будут использоваться при недоступности основного.
  • Можно здесь принудительно отключить основной сервер и использовать только резервный.
  • Отключить проверку SSL
  • Указать время хранения кэша, по умолчанию TTL = 600.
  • Настроить таймаут сети

owncloud

Настройка каталога

Здесь можно задать дополнительные опции каталога LDAP.

  • Атрибут отображаемого имени пользователя
  • Атрибут вторичного имени (в скобках), я здесь указываю email
  • DN каталога пользователей
  • Атрибуты поиска пользователей (cn, displayname, mail)
  • Поле отображаемого имени группы
  • DN каталога групп
  • Атрибуты поиска групп (cn, name)
  • Как искать пользователя в группах: member (AD)
  • Алгоритм членства в группе: recursiveMemberOf (AD)
  • URL участников динамической группы. Этого параметра нет в документации. URL для поиска членства в группе.
  • Вложенные группы — да
  • Страничный размер блоков, по умолчанию 500

owncloud

owncloud

Специальные атрибуты

  • Поле квоты — можно задать атрибут пользователя и рулить квотами через LDAP
  • Квота по умолчанию. Ограничить размер диска пользователям. Значение по умолчанию.
  • Поле адреса email, пишу mail
  • Правило именования домашнего каталога пользователя. По умолчанию OwnCloud хранит данные так: "/var/www/owncloud/data/5a9df029-322d-4676-9c80-9fc8892c4e4b". Можно изменить на значение из атрибута LDAP.
  • Поле-заполнитель "$home". Нет в документации.

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

Можно проверить конфигурацию.

owncloud

Эксперт

Атрибут для внутреннего имени. Этот атрибут будет использоваться как уникальный идентификатор пользователя для OwnCloud. Укажу SAMAccountName. Также укажу UUID-атрибут для пользователей и групп: objectGUID.

Больше ничего здесь не использую. Можно проверить конфигурацию.

owncloud

Заключение

Я обычно применяю не совсем такие настройки для интеграции AD и OwnCloud. Для каждого конкретного случая настройки отличаются, в зависимости от принятых правил и структуры атрибутов AD. К тому же, лучше ограничивать Base DN исходя из политики минимального доступа.

OwnCloud сохраняет изменения в настройках автоматически, при изменении значения поля.

Встречаются баги, например, когда создаёшь группу в AD в процессе настройки, а она не появляется. Это кэш. Закрыть всё, подождать минут 10, повторить. Можно также изменить значение TTL, кэш сбросится.

Старайтесь не использовать встроенные группы AD типа Domain Admins или Domain Users. В документации написано, что есть поддержка этих групп, но с ними всё не так просто. Аутентификация возможна, а вот определение членства в группе хромает.

Теги

 

Похожие материалы

Установка PHP 7.3.1 на IIS 10

Расскажу вам о наиболее оптимальном способе установки PHP на IIS. Ставить будем PHP 7.3.1 на IIS 10. IIS крутится на сервере с Windows Server 2016. Раньше я устанавливал PHP руками, помните, что для Windows нужно выбирать PHP NTS версию. Однако, теперь решил последовать совету с официального сайта. 

Теги

Обновление Drupal 9 в Windows с помощью Composer

Надоело мне вручную обновлять Drupal 9. Решил я это дело немного автоматизировать. Если Drupal на Linux, то удобно обновлять через Composer. А если на Windows, то... А что мешает нам поставить Composer в Windows?

Теги