Хочется такого:
иметь ветку с учётными записями пользователей
и отдельные ветки для сервисов (возможно с подветками для хостов).
Всех людей хранить в одном месте, а для сервисов понасоздавать ссылок
на людей, которых им нужно видеть.
Столкнулся с проблемой: при создании ссылок с помощью objectClass: alias,
для них работает поиск по фильтру, но не работает bind.
Если же "ссылки" делать через dynlist overlay,
тогда можно в объекте-ссылке дополнительно указать поле userPassword,
и будет работать bind, но пропадает возможность делать поиск по фильтру.
К примеру имеем:
dc=com
|---dc=users
| |---uid=user1
| | cn: user1; uidNumber: 100; userPassword: xxx
| \---uid=user2
| cn: user2; uidNumber: 200; userPassword: yyy
\---dc=links
|---uid=u1_alias
| objectClass: alias; aliasedObjectName: uid=user1,dc=users,dc=com; userPassword: xxx
\---uid=u2_alias
objectClass: dynamicListGroup; expandThisURL: ldap:///uid=user2,dc=users,dc=com??base?(objectclass=*); userPassword: yyy
Проверка на bind:
$ ldapsearch -b 'uid=u1_alias,dc=links,dc=com' -xD 'uid=u1_alias,dc=links,dc=com' -w xxx
ldap_bind: Invalid credentials (49)
$ ldapsearch -b 'uid=u2_alias,dc=links,dc=com' -xD 'uid=u2_alias,dc=links,dc=com' -w xxx
подключается и выводит данные объекта (dynlist работает)
Проверка на поиск с фильтром:
$ ldapsearch -b 'dc=links,dc=com' -xD $root_dn -W 'uidNumber=*'
находит только один dn: uid=user1,dc=users,dc=com
Тот же поиск, но без фильтра, находит обе записи
Знает ли кто-нибудь способ сделать так, чтоб и "ссылки" были, и фильтры работали ?
Либо это где-то у меня "лыжи не едут" ?
Форум —
Admin
