Univention Bugzilla – Bug 20917
Samba4 - OpenLDAP Passwort-Synchronisation
Last modified: 2023-03-25 06:47:17 CET
Die Passwortsynchronisation zwischen SD/Samba4 und OpenLDAP ist bisher nur partiell realisiert: * SD/Samba4 -> OpenLDAP: * Wenn dBCSPwd nicht aktiviert ist, ist u.a. userPassword aktuell nicht mehr nutzbar * sambaNTPassword 'cannot have multiple values' traceback * connector/ad/password.py übergibt den KRB5-Salt falsch an asn1_encode_key * Kerberos AES Keys fehlen noch * OpenLDAP -> SD/Samba4 * POC-Skript liegt unter groups/77_entwicklung/44_Beistellungen/101202_Samba4_Workshop_Metzmacher/ * Python-Binding asn1_decode_key noch nicht vollständig funktional * Kerberos AES Keys fehlen noch * krb.ctr.older_keys Struktur noch unklar * Initialisierung von supplementalCredentials, beim ersten Sync von UCS->SD * UDM-tools: * univention/admin/password.py sollte ggf. den KRB5-Salt korrekt setzen.
Ich bekomme mit dem aktuellen Build die folgende Fehlermeldung: root@s4master:~# /etc/init.d/univention-ad-connector start * Starting univention-ad-connector daemon Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/connector/ad/main.py", line 60, in ? import mapping File "/etc/univention/connector/ad/mapping.py", line 35, in ? import univention.connector.ad.password File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py", line 43, in ? from samba.credentials import Credentials ImportError: No module named samba.credentials ...done.
Aktuell bekomme ich diesen Traceback bei der Synchronisation: Thu Jan 13 08:09:48 2011 failed in post_con_modify_functions Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/connector/__init__.py", line 1019, in sync_to_ucs f(self, property_type, object) File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py", line 839, in password_sync_s4_to_ucs modlist.append(('userPassword', userPassword_ucs, lm_password_to_user_password(lmPwd))) NameError: global name 'userPassword_ucs' is not defined python-univention-heimdal 3.1.3-1.27.201101121337 univention-s4-connector 5.1.13-1.192.201101130713
Ein weiteres Problem, wenn ich den Connector starte, dann wird dieser relativ bald wieder beendet. Das Ende der Logdatei: 13.01.2011 08:03:21,888 LDAP (WARNING): password_sync_ucs_to_s4 called 13.01.2011 08:03:21,888 LDAP (INFO ): Object DN=cn=guest,cn=users,dc=s4test41,dc=local 13.01.2011 08:03:21,888 LDAP (INFO ): _object_mapping: map with key user and type con 13.01.2011 08:03:21,889 LDAP (INFO ): _dn_type con 13.01.2011 08:03:21,890 LDAP (INFO ): samaccount_dn_mapping: check newdn for key dn: 13.01.2011 08:03:21,892 LDAP (INFO ): samaccount_dn_mapping: premapped UCS object found 13.01.2011 08:03:21,892 LDAP (INFO ): samaccount_dn_mapping: check newdn for key olddn: 13.01.2011 08:03:21,893 LDAP (INFO ): UCS DN = uid=guest,cn=users,dc=s4test41,dc=local 13.01.2011 08:03:21,894 LDAP (INFO ): password_sync_ucs: sambaPwdLastSet: 1294897340 13.01.2011 08:03:21,894 LDAP (INFO ): password_sync_ucs: sambaPwdMustChange: -1 13.01.2011 08:03:21,896 LDAP (INFO ): password_sync_ucs_to_s4: pwdLastSet from AD : 0 13.01.2011 08:03:21,897 LDAP (WARNING): password_sync_ucs_to_s4: Failed to get NT Password-Hash from S4 13.01.2011 08:03:21,897 LDAP (INFO ): password_sync_ucs_to_s4: NT Hash S4: NT Hash UCS: B1A5AAE8A7E87080745C037288C6655C 13.01.2011 08:03:21,898 LDAP (WARNING): password_sync_ucs_to_s4: Failed to get LM Password-Hash from S4 13.01.2011 08:03:21,898 LDAP (INFO ): password_sync_ucs_to_s4: LM Hash S4: LM Hash UCS: ED817C2F9CB4FC7916BD54C9E7B9D90D
* Comment 1 wurde gefixed durch Bau der Samba4 PythonModule für python2.4 * Comment 2: Edit-Fehler, ist jetzt gefixed. * Comment 3: Muss man sich auf der VM anschauen Aktueller Stand der Passwortsynchronisation zwischen SD/Samba4 und OpenLDAP sollte jetzt Folgender sein: * SD/Samba4 -> OpenLDAP: * Wenn dBCSPwd nicht aktiviert ist, ist u.a. userPassword aktuell nicht mehr nutzbar * Fixed: sambaNTPassword 'cannot have multiple values' traceback * Fixed: connector/ad/password.py übernimmt jetzt den KRB5-Salt * Fixed: Kerberos AES Keys werden geschrieben, wenn in S4 gesetzt. * OpenLDAP -> SD/Samba4 * NT-Hash und Krb5-Replikation ist in den AD-Connector eingebaut * Fixed: Python-Heimdal Bindings asn1_decode_key, keyblock.keyvalue(), salt.saltvalue(), salt_raw * Fixed: Kerberos AES Keys werden geschrieben, wenn in UCS gesetzt. * Fixed: Initialisierung supplementalCredentials, beim ersten Sync von UCS->SD * UDM-tools: * Fixed: univention/admin/password.py setzt jetzt einen KRB5-Salt
* Comment 3 : gefixed durch http://git.samba.org/?p=samba.git;a=commit;h=2e45cd15ec4719b87e45db5e4a5c43dc1432936f * OpenLDAP -> SD/Samba4 * Der PackagesBlob wird jetzt korrekt aufgebaut * UDM-tools: * Der KRB5-Salt wird jetzt per krb5_get_pw_salt erzeugt
root@s4master:~# /etc/init.d/univention-ad-connector start * Starting univention-ad-connector daemon Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/connector/ad/main.py", line 60, in ? import mapping File "/etc/univention/connector/ad/mapping.py", line 35, in ? import univention.connector.ad.password File "/usr/lib/python2.4/site-packages/univention/connector/ad/password.py", line 47, in ? import ctypes ImportError: No module named ctypes ...done. Ich hatte python-ctypes im samba4 scope gebaut und als Abhängigkeit hinzugefügt, das scheint aber nicht zu reichen. root@s4master:~# apt-get install python-ctypes Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig Hinweis: wähle python an Stelle von python-ctypes python ist schon die neueste Version. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Nach dem Aktivieren von unmaintained kann ich das Paket installieren: root@s4master:~# apt-get install python-ctypes Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig Die folgenden zusätzlichen Pakete werden installiert: libffi5 Die folgenden NEUEN Pakete werden installiert: libffi5 python-ctypes 0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 175kB an Archiven heruntergeladen werden. Nach dieser Operation werden 803kB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]?
Wenn ich einen Benutzer auf AD Seite anlege (samba-tool newuser user9 q1w2e3R$), dann geht der AD Connector in eine Endlosschleife. Wenn ich die Passwortsynchronisationsfunktionen aus dem Mapping entferne, dann beendet der AD Connector die Synchronisation normal.
Der LM-Hash-Änderungstest war hier defekt: Wenn auf Samba4 Seite kein LM-Hash aktiviert ist, dann schlug der Test fehl.
Grundlegend funktioniert es, geändert | Anmeldung erfolgreich über ------------------------------------------------------------------ winxp (Windows-Sicherheit) | winxp, win7, win2k8 | kinit, GDM, ssh, su winxp (AD Benutzerverwaltung) | winxp, win7, win2k8 | kinit, GDM, ssh, su | win7 (Windows-Sicherheit) | winxp, win7, win2k8 | kinit, GDM, ssh, su win7 (AD Benutzerverwaltung) | winxp, win7, win2k8 | kinit, GDM, ssh, su | win2k8 (Windows-Sicherheit) | winxp, win7, win2k8 | kinit, GDM, ssh, su win2k8 (AD Benutzerverwaltung) | winxp, win7, win2k8 | kinit, GDM, ssh, su | kpasswd | winxp, win7, win2k8 | kinit, GDM, ssh, su | udm | winxp, win7, win2k8 | kinit, GDM, ssh, su, udm Bei Passwort-Änderungen über Windows bzw. kpasswd wird das userPassword im UCS LDAP nicht gepflegt, die Anmeldung am UDM ist dann nicht mehr möglich Bug #21244. Außerdem scheint es noch Probleme zu geben, wenn über Windows ein Passwort mit Umlauten gesetzt wird Bug #21246.