OwnCloud — это свободное и открытое веб-приложение для синхронизации данных и совместной работы с файлами в стиле Dropbox. Замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища.
Если интегрировать в OwnCloud аутентификацию LDAP/AD, то в документации можно найти хорошую фразу:
Support for primary groups in Active Directory
Т.е. утверждается, что OwnCloud поддерживает основные группы AD. Однако, как показала практика, это не совсем так. К примеру, мы хотим добавить в OwnCloud всех пользователей домена, это легко сделать, использую встроенную группу Domain Users, в которой числятся все пользователи домена. Я понимаю, что так делать не нужно, но всё же.
Domain Users
Добавить группу Domain Users в список групп OwnCloud можно, можно также разрешить вход в OwnCloud всем участникам группы. Однако, возникает проблема.
Группа Domain Users в OwnCloud пуста. Не знаю в какой момент так случилось, есть подозрение, что до определённого обновления всё работало как надо.
При этом все пользователи домена прекрасно определяются.
И в созданных нами группах пользователи определяются без проблем.
Ясно, что проблема кроется в алгоритме, определяющем членство в группе. Алгоритм можно настроить в дополнительных параметрах аутентификации LDAP. Доступно:
- groupScan
- memberOf
- recursiveMemberOf (AD)
Но какой бы вариант мы не выбрали, группа Domain Users всё равно пуста.
Почему так происходит?
Если посмотреть на атрибут memberOf пользователя AD, то видно, что в нём указываются только созданные нами группы, поэтому членство в таких группах OwnCloud определяет без проблем. Такие группы можно смело использовать для настроек доступа в OwnCloud. А вот специальной группы Domain Users в атрибуте memberOf не указывается, вот членство в этой группе и не определяется.
Мы ничего с этим сделать не можем, потому как алгоритм определения членства в группе Domain Users должен быть захардкожен в OwnCloud. Но если очень хочется, то есть лайфхак.
Лайфхак
Если нам очень нужна группа Domain Users, то можно выполнить манёвр. Создаём какую-нибудь группу, помещаем в неё всех пользователей, вручную, естественно. Членство пользователей в этой группе легко определяется, потому как такая группа указывается в атрибуте memberOf пользователя. К примеру, я использую группу owncloud, она есть в атрибуте memberOf пользователя.
А теперь помещаем эту группу owncloud в группу Domain Users. Чудесным образом у группы owncloud в атрибуте memberOf появляется группа Domain Users.
Указываем в дополнительных настройках LDAP аутентификации рекурсивный алгоритм определения членства в группе, например, recursiveMemberOf (AD). Вуаля, в OwnCloud в группе Domain Users появились участники.
Зачем это надо?
Способ дурацкий, конечно. Проще выкинуть всё лишнее и использовать созданные админом группы в AD, раскидывая туда нужных пользователей. Но иногда это может пригодиться, если у нас нет доступа в админку OwnCloud, а починить всё нужно быстро и ещё вчера.
К тому же есть шанс, что разработчики OwnCloud всё-таки вернут поддержку встроенных в AD групп, но я бы на это не надеялся.