Решил тут попробовать написать рассказку про OpenLDAP. На реальном примере, заодно и самому интересно, что и как. Заткнулся в одном месте. Сервер лупит ошибку, док нет, в инете сталкивающие с этим посылаются в направлении мифических FM ... В общем, засада.
Но мы же не ламеры, мы все-таки чайники, посему полезли разбираться. Нашли следы, из которых стало понятно, что где-то внутрях авторизовалки slapd сидит нечто, описываемое следующим алгоритмом
1) dс юзера есть в базе? если есть, то иди на п. 8
2) dn юзера совпадает с rootdn в slapd.conf? если да, то иди на п.4
3) ошибка авторизации, послать юзера нах.
4) корневое dc есть в core.schema? если есть, то иди на п.6
5) послать юзер нах.
6) всего число dc= 2? если да, то иди на п.8
7) послать юзера нах.
8) пароль совпадает? если да, то иди на п.10
9) иди нах, наконец.
10) ура!
если п.4 - вполне понятен и не даст завести что-нить типа dc=cool_domain,dc=hren без правки схем, что описано в документации, то вот пункт 6 ... С одной стороны, он позволяет писать для авторизации dn типа "cn=manager,dc=multik,dc=org" при пустой базе, что полезно при первоначальной установке.
Но с другой стороны, он не позволяет для тех же целей в тех же условиях использовать "cn=manager,dc=office,dc=multik,dc=org"!
В итоге, что бы не нарушать отчетности, приходится править конфиг на cn=manager,dc=multik,dc=org, делать запись про office и multik и возвращать всё назад.
P.S. Да, на это напороться - шансов минимум (только при установке свежего сервера, да еще в особых условиях) и это все равно обходится как выше написал, но я всю первую половину дня потерял на это ...