Nach Einrichten des AD-Connectors auf UCS 2.4-2 und Windows Server 2003 SP2 funktioniert zwar die LDAP-Synchronisierung, aber nicht die der Passwörter. Die Synchronisierung steht auf ‘write’, also soll nur vom UCS in Richtung W2k3 repliziert werden. Der Windows-Server ist frisch aufgesetzt, beinhaltet also sonst keinerlei (Benutzer-) Daten. Der Benutzer, mit dem auf Windows-Seite alles eingerichtet wurde, ist nicht Adminstrator, sondern ein Benutzer, der sich in der Gruppe ‘Administratoren’ (und Replikations-Benutzer etc) befindet.
Auf Windows-Seite zeigt das Log keine Besonderheiten:
...
Waiting for a client to connect...
accept client connection...
Client Connected.
UserDN = [edv]
Command = [G]
User = [1185]
user_logon okay
Starting command: copypwd.exe dump> C:\WINDOWS\UCS-AD-Connector\copypwd.txt
Exit command: copypwd.exe dump> C:\WINDOWS\UCS-AD-Connector\copypwd.txt
create packet
8 0 0 0 0 0 0 0 0 0 0 0
send 12
...
Auf UCS-Seite bekam ich zunächst folgende Meldung:
sync failed, saved as rejected
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/univention/connector/__init__.py",
line 568, in __sync_file_from_ucs
if ((old_dn and not self.sync_from_ucs(key, object, premapped_ucs_dn,
unicode(old_dn,'utf8')))
File "/usr/lib/python2.4/site-packages/univention/connector/ad/__init__.py",
line 1879, in sync_from_ucs
f(self, property_type, object)
File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py",
line 191, in password_sync_ucs
pwd_ad = pwd_ad_res[12:].split(':')[1].strip().upper()
IndexError: list index out of range
Hierzu gibt es einen zutreffenden Bug https://forge.univention.org/bugzilla/show_bug.cgi?id=20584#c2. Ein damit zusammenhängender Bug https://forge.univention.org/bugzilla/show_bug.cgi?id=20141 trifft jedoch nicht zu.
Nach einem Neustart des W2k3 Servers am nächsten Tag wie folgt:
Wed Jul 20 10:36:59 2011
sync failed, saved as rejected
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/univention/connector/__init__.py", line 568, in __sync_file_from_ucs
if ((old_dn and not self.sync_from_ucs(key, object, premapped_ucs_dn, unicode(old_dn,'utf8')))
File "/usr/lib/python2.4/site-packages/univention/connector/ad/__init__.py", line 1900, in sync_from_ucs
f(self, property_type, object)
File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py", line 188, in password_sync_ucs
pwd_ad_res = get_password_from_ad(connector, rid)
File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py", line 131, in get_password_from_ad
ssl=ssl_init(s.fileno())
File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py", line 83, in ssl_init
err = M2Crypto.__m2crypto.ssl_connect (ssl);
SSLError: (104, 'Connection reset by peer')
Univention-adsearch funktioniert übrigens. Auch ein Abschalten von SSL für den Connector mit
ucr set connector/ad/ldap/ssl=no
funktioniert nicht, da sich diese Variable offensichtlich nur auf die LDAP-Anfragen und nicht auf den Passwortdienst bezieht.