Я уже довольно долго борюсь, много гуглил, и я еще не смог понять эту - надеюсь - простую проблему. Я новичок в ldap, поэтому мне может не хватать чего-то очень очевидного ... У меня довольно простой slapd.conf:
include /private/etc/openldap/schema/core.schema
pidfile /private/var/db/openldap/run/slapd.pid
argsfile /private/var/db/openldap/run/slapd.args
database bdb
suffix "dc=ronr,dc=nl"
rootdn "cn=manager,dc=ronr,dc=nl"
rootpw zz
directory /private/var/db/openldap/openldap-data
index objectClass eq
и ldap.conf:
URI ldap://localhost
и запустил slapd. При попытке подключиться к rootdn с помощью
ldapadd -x -D "cn=manager,dc=ronr,dc=nl" -w zz -f add_base.ldif -h localhost -d255
Я получаю: ldap_bind: Неверные учетные данные (49)
В трассировке slapd 250 уровня отладки я получаю:
slapd startup: initiated.
backend_startup_one: starting "cn=config"
config_back_db_open
config_build_entry: "cn=config"
config_build_entry: "cn=schema"
config_build_entry: "cn={0}core"
config_build_entry: "olcDatabase={-1}frontend"
config_build_entry: "olcDatabase={0}config"
config_build_entry: "olcDatabase={1}bdb"
backend_startup_one: starting "dc=ronr,dc=nl"
bdb_db_open: database "dc=ronr,dc=nl": dbenv_open(/private/var/db/openldap/openldap-data).
bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
slapd starting
slap_listener_activate(7):
>>> slap_listener(ldap:///)
connection_get(13): got connid=0
connection_read(13): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 38 contents:
ber_get_next
conn=0 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
>>> dnPrettyNormal: <cn=manager,dc=ronr,dc=nl>
<<< dnPrettyNormal: <cn=manager,dc=ronr,dc=nl>, <cn=manager,dc=ronr,dc=nl>
do_bind: version=3 dn="cn=manager,dc=ronr,dc=nl" method=128
bdb_dn2entry("cn=manager,dc=ronr,dc=nl")
=> bdb_dn2id("dc=ronr,dc=nl")
**<= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30989)**
send_ldap_result: conn=0 op=0 p=3
send_ldap_response: msgid=1 tag=97 err=49
ber_flush2: 14 bytes to sd 13
connection_get(13): got connid=0
connection_read(13): checking for input on id=0
ber_get_next
ber_get_next on fd 13 failed errno=0 (Undefined error: 0)
connection_closing: readying conn=0 sd=13 for close
connection_close: conn=0 sd=13
Я подозреваю, что линия
<= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30989)
пытается объяснить мне настоящую проблему. Дело в том, что я понятия не имею, чего здесь не хватает. Как я могу это исправить? Должен ли я сделать что-то дополнительное для администрирования пароля, кроме как просто поместить его в slapd.conf, как я, если да, что мне делать? FWIW: я запускаю это на MacOSX (10.6.6)
мы очень ценим любые полезные советы / предложения. Рональд.
Я тестировал Linux, и он работал, по-видимому, с той же конфигурацией. Поэтому я решил установить openldap с ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/… используя ./config --prefix = / usr / local. Это привело к ошибке, связанной с неправильной версией Berkelydb. Итак, я загрузил download.oracle.com/berkeley-db/db-4.8.30.tar.gz запустил configure --prefix = / usr / local, установил его и снова запустил configure для openldap, но с большим успехом. После установки все заработало сразу, с тех пор никаких проблем. Не то чтобы я мог сказать, что знаю, в чем проблема, но для меня этого достаточно.