ich sitze an der letzten Aufgabe an meinem Samba-PDC und -BDC und bekomme die LDAP-Replikation mit syncrepl nicht ans Laufen, wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht...
Samba hat die Version 3.0.24, LDAP 2.3.30, System Debian Etch 2.6.24.etchnhalf.1-686.
Das LDAP-Verzeichnis des Consumers hatte ich erst bis auf 3 Gruppeneinträge identisch zum Provider, jetzt habe ich zum Test mit dpkg-reconfigure auf dem Consumer eine leere Datenbank angelegt: Sie enthält:
- # extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.local
dn: dc=example,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: example.local
dc: example
# admin, example.local
dn: cn=admin,dc=example,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: secret
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
- include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 0
modulepath /usr/lib/ldap
moduleload back_bdb
moduleload syncprov
sizelimit 500
tool-threads 1
backend bdb
checkpoint 512 30
database bdb
suffix "dc=example,dc=local"
rootdn "cn=admin,dc=example,dc=local"
rootpw {SSHA}secret
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass,entryCSN,entryUUID eq
index uid eq
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
lastmod on
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=example,dc=local" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=example,dc=local" write
by dn="uid=root,ou=users,dc=example,dc=local" write
by * read
- include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 0
modulepath /usr/lib/ldap
moduleload back_bdb
sizelimit 500
tool-threads 1
backend bdb
checkpoint 512 30
database bdb
suffix "dc=example,dc=local"
rootdn "cn=admin,dc=example,dc=local"
rootpw {SSHA}secret
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
index uid eq
syncrepl rid=1
provider=ldap://master.example.local:389
type=refreshAndPersist
searchbase="dc=example,dc=local"
bindmethod=simple
binddn="uid=syncuser,ou=users,dc=example,dc=local"
updateref ldap://master.example.local:389
lastmod on
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=example,dc=local" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=example,dc=local" write
by * read
Nachdem das alles so eingerichtet war, habe ich slapd auf beiden Rechnern neu gestartet, als nichts passierte, einen zusätzlichen Eintrag auf dem Provider gemacht, auch ohne Effekt. Die OpenLDAP-Doku schreibt von einem "synchronisation cookie", das verstehe ich aber nicht genau, auch die 2. Möglichkeit ist mir noch nicht ganz klar:
Ist "updateref" evtl.falsch?The initial loading of the replica content can be performed either by starting the syncrepl engine with no synchronization cookie or by populating the consumer replica by adding an LDIF file dumped as a backup at the provider.
Wer hat einen guten Tip für mich?
Danke und viele Grüße
Theophil