[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
OpenLdap 1.2 replica setup
Hello,
i'm a bit puzzled how to setup a replica LDAP server. I'm using
"The SLAPD & SLURPD Admin Guide for Release 3.3" Paper as advice.
I added the following statements to the master slapd.conf:
replica host="host.domain.com:389"
binddn="uid=REPLIC,ou=Roles,dc=de,dc=uu.net"
bindmethod=simple credentials={crypt}XXXXXXXX
replogfile /users/confdb/run/slapd/replog
The slave slapd.conf is the same as the master conf file (except
replica and replog statements). Do I have to maintain local ACL's in
the slave slapd.conf? I do right now.
The only other statements are:
updatedn "uid=REPLIC,ou=Roles,dc=de,dc=uu.net"
referral master://confdb01.de.uu.net
I tried it with & without referral option, but how would the slave
contact the master otherwise to propagate local modifies?
The above updatedn is a posixAccount entry with a {crypt} userpassword
(I assumed this is used as the replica bind credential). I gave the DN
full write access to the slave DB:
access to * by dn="cn=REPLIC,ou=Roles,dc=de,dc=uu.net" write
The replogfile is written just fine, I'm able to start slurpd. The
slurpd connects to the slave server. Errorlog:
-cut
$ slurpd -d 8 -o -r replog
Processing in one-shot mode:
2 total replication records in file,
0 replication records to process.
request 1 done
request 2 done
Error: ldap_modify_s failed modifying "Insufficient access": uid=dvl,ou=People,dc=de,dc=uu.net
Error: ldap operation failed, data written to "/usr/tmp/steinbruch.de.uu.net:389.rej"
request 3 done
Error: ldap_modify_s failed modifying "Insufficient access": uid=dvl,ou=People,dc=de,dc=uu.net
Error: ldap operation failed, data written to "/usr/tmp/steinbruch.de.uu.net:389.rej"
slurpd: terminating normally
-cut
!!!!
Insufficient access? The Admin Guide doesn't mention any credential setup.
!!!!
slave slapd log:
--cut
do_bind
do_bind: version 2 dn (uid=REPLIC,ou=Roles,dc=de,dc=uu.net) method 128
dn2entry_r: dn: "UID=REPLIC,OU=ROLES,DC=DE,DC=UU.NET"
=> dn2id( "UID=REPLIC,OU=ROLES,DC=DE,DC=UU.NET" )
=> ldbm_cache_open( "/users/home/techdb/ldap/run/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (opened 0)
<= dn2id 250
=> id2entry_r( 250 )
=> ldbm_cache_open( "/users/home/techdb/ldap/run/id2entry.dbb", 7, 600 )
<= ldbm_cache_open (opened 1)
=> str2entry
<= str2entry 0x98018
<= id2entry_r( 250 ) (disk)
====> cache_return_entry_r
do_bind: bound "uid=REPLIC,ou=Roles,dc=de,dc=uu.net" to "uid=REPLIC,ou=Roles,dc=de,dc=uu.net"
send_ldap_result 0::
do_modify
add_lastmods
add_lastmods: found lastmod attr: modifytimestamp
add_lastmods: found lastmod attr: createtimestamp
dn2entry_w: dn: "UID=DVL,OU=PEOPLE,DC=DE,DC=UU.NET"
=> dn2id( "UID=DVL,OU=PEOPLE,DC=DE,DC=UU.NET" )
=> ldbm_cache_open( "/users/home/techdb/ldap/run/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 215
=> id2entry_w( 215 )
=> ldbm_cache_open( "/users/home/techdb/ldap/run/id2entry.dbb", 7, 600 )
<= ldbm_cache_open (cache 1)
=> str2entry
<= str2entry 0x99948
<= id2entry_w( 215 ) (disk)
=> dnpat: [1] .* nsub: 0
=> acl_get:[1] backend ACL match
<= check a_dnpat: CN=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> string_expand: pattern: CN=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> string_expand: expanded: CN=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> regex_matches: string: UID=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> regex_matches: rc: 1 no matches
send_ldap_result 50::
====> cache_return_entry_w
do_modify
add_lastmods
add_lastmods: found lastmod attr: modifytimestamp
add_lastmods: found lastmod attr: modifiersname
dn2entry_w: dn: "UID=DVL,OU=PEOPLE,DC=DE,DC=UU.NET"
=> dn2id( "UID=DVL,OU=PEOPLE,DC=DE,DC=UU.NET" )
====> cache_find_entry_dn2id: found dn: UID=DVL,OU=PEOPLE,DC=DE,DC=UU.NET
<= dn2id 215 (in cache)
=> id2entry_w( 215 )
====> cache_find_entry_dn2id: found id: 215 rw: 1
<= id2entry_w 0x99948 (cache)
=> dnpat: [1] .* nsub: 0
=> acl_get:[1] backend ACL match
<= check a_dnpat: CN=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> string_expand: pattern: CN=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> string_expand: expanded: CN=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> regex_matches: string: UID=REPLIC,OU=ROLES,DC=DE,DC=UU.NET
=> regex_matches: rc: 1 no matches
send_ldap_result 50::
====> cache_return_entry_w
ber_get_next on fd 6 failed errno 0 (Error 0)
*** got 0 of 0 so far
--cut
Any hints? Any nice HOWTO available?
Regards,
Dirk
--
Dirk.Vleugels@de.uu.net http://www.de.uu.net
Tools & Standards UUnet Deutschland GmbH
Tel. +49 231 972 00 Emil-Figge-Strasse 80
Fax. +49 231 972 1180 44227 Dortmund, Germany