Автор Тема: Отслеживание изменений адреса имени пользователе в группе  (Прочитано 12103 раз)

elms

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Егор, день добрый! Это снова я :)
Вопрос следующий.
Когда мы добавляем пользователя в группу, в атрибуте member проставляется его DN, например cn=Test,dc=users and computers,dc=local
После переноса пользователя в другой каталог, информация в атрибуте member не изменяется.
Как сделать так, чтобы ldap отслеживал перенос пользователя и автоматически перезаписывал актуальный атрибут member?
В ldapAdmin это происходит автоматически, но в данном случае использование этой утилиты не разумно.
Спасибо!)

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Здравствуйте!
Если речь идёт об OpenLDAP и под "переносом пользователя  в другой каталог" подразумевается операция modrdn, то можно попробовать наложение refint -- оно как раз для этого предназначено.

Егор

elms

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Да, спасибо Егор, это именно то.
Пытался подключить 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 нету.
Почитал статью, написано, что модули должны быть при установке приложения.
Сейчас руками я не смогу их подключить?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Проблема в отсутствии модулей динамической загрузки, так?
Судя по всему, да.

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

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

Модули подключить можно в любой момент путём добавления или модификации записи cn=module{0},cn=config. См. здесь.

Егор

elms

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Спасибо большое Егор.
Да, Вы совершено правы, модули падают в папку usr/lib64/openldap.
Модули не подгружались поскольку в параметру olcModulePath путь был usr/lib/ldap
Проблема решена, смог подгрузить refint.la
Настроил отслеживание по полю member :)