Форум проекта Pro-LDAP.ru

Администрирование OpenLDAP => Конфигурация через cn=config => Тема начата: elms от 09 Декабрь 2016, 10:29:26

Название: Отслеживание изменений адреса имени пользователе в группе
Отправлено: elms от 09 Декабрь 2016, 10:29:26
Егор, день добрый! Это снова я :)
Вопрос следующий.
Когда мы добавляем пользователя в группу, в атрибуте member проставляется его DN, например cn=Test,dc=users and computers,dc=local
После переноса пользователя в другой каталог, информация в атрибуте member не изменяется.
Как сделать так, чтобы ldap отслеживал перенос пользователя и автоматически перезаписывал актуальный атрибут member?
В ldapAdmin это происходит автоматически, но в данном случае использование этой утилиты не разумно.
Спасибо!)
Название: Re: Отслеживание изменений адреса имени пользователе в группе
Отправлено: egor от 10 Декабрь 2016, 08:22:37
Здравствуйте!
Если речь идёт об OpenLDAP и под "переносом пользователя  в другой каталог" подразумевается операция modrdn, то можно попробовать наложение refint (http://pro-ldap.ru/tr/admin24/overlays.html#Referential%20Integrity) -- оно как раз для этого предназначено.

Егор
Название: Re: Отслеживание изменений адреса имени пользователе в группе
Отправлено: elms от 12 Декабрь 2016, 13:03:11
Да, спасибо Егор, это именно то.
Пытался подключить refint
dn: olcOverlay=refint,olcDatabase={2}bdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {1}refint
olcRefintAttribute: member
Вылазит ошибка:
adding new entry "olcOverlay=refint,olcDatabase={2}bdb,cn=config"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #2 invalid per syntax
Проблема в отсутствии модулей динамической загрузки, так?
Ибо папки ldap в директории /usr/lib нету.
Почитал статью, написано, что модули должны быть при установке приложения.
Сейчас руками я не смогу их подключить?
Название: Re: Отслеживание изменений адреса имени пользователе в группе
Отправлено: egor от 13 Декабрь 2016, 00:16:09
Проблема в отсутствии модулей динамической загрузки, так?
Судя по всему, да.

Ибо папки ldap в директории /usr/lib нету.
Расположение директорий с бинарниками и модулями зависит от дистрибутива ОС. Проще всего посмотреть, где лежат модули, в файле установочного пакета Вашего дистрибутива (deb, rpm и т.п.).

Почитал статью, написано, что модули должны быть при установке приложения.
Сейчас руками я не смогу их подключить?

Модули подключить можно в любой момент путём добавления или модификации записи cn=module{0},cn=config. См. здесь (http://pro-ldap.ru/books/diving/begin/module.html).

Егор
Название: Re: Отслеживание изменений адреса имени пользователе в группе
Отправлено: elms от 13 Декабрь 2016, 09:59:26
Спасибо большое Егор.
Да, Вы совершено правы, модули падают в папку usr/lib64/openldap.
Модули не подгружались поскольку в параметру olcModulePath путь был usr/lib/ldap
Проблема решена, смог подгрузить refint.la
Настроил отслеживание по полю member :)