Univention Bugzilla – Bug 23360
Samba 4 auf nicht DC Master
Last modified: 2011-12-13 15:49:56 CET
Samba 4 auf nicht DC Master Systemen sollte der S4 Domäne beitreten.
Aus der join.log eines DCs: Finding a writeable DC for domain 'deadlock51.local' Found DC master51.deadlock51.local workgroup is DEADLOCK51 realm is deadlock51.local checking samaccountname Adding CN=SLAVE52,OU=Domain Controllers,DC=deadlock51,DC=local Join failed - cleaning up checking samaccountname ERROR(ldb): uncaught exception - LDAP error 68 LDAP_ENTRY_ALREADY_EXISTS - <Entry CN=SLAVE52,OU=Domain Controllers,DC=deadlock51,DC=local already exists> <> File "/usr/lib/python2.6/dist-packages/samba/netcmd/__init__.py", line 135, in _run return self.run(*args, **kwargs) File "/usr/lib/python2.6/dist-packages/samba/netcmd/join.py", line 71, in run site=site, netbios_name=netbios_name, targetdir=targetdir) File "/usr/lib/python2.6/dist-packages/samba/join.py", line 592, in join_DC ctx.do_join() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 524, in do_join ctx.join_add_objects() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 333, in join_add_objects ctx.samdb.add(rec) Samba4 does not seem to be provisioned, exiting /usr/share/univention-samba4/scripts/setup-dns-in-ucsldap.sh Object modified: zoneName=deadlock51.local,cn=dns,dc=deadlock51,dc=local Ein Problem könnte sein, dass der S4 Connector auf dem Master das Objekt schon repliziert in das S4 LDAP repliziert hat.
Das vorgesehene Verhalten in /usr/share/pyshared/samba/join.py ist, vor dem Join schon existierende Objekte zu entfernen, die mit dem neuen Rechner-Account zusammenhängen. Dazu wird dort zuerst die Methode cleanup_old_join aufgrufen. Allerdings findet sie in dem aktuellen Fall das Rechnerobjekt nicht über die Suche nach "samaccountname=SLAVE$", da der Accountname an dem Rechnerobjekt zu dem Zeitpunkt nicht korrekt ist: dn: CN=slave,OU=Domain Controllers,DC=arucs3ms1i1,DC=qa sAMAccountName: $26A3561B-7CBB942DB835569F Ursache ist noch unklar.
Der Join eines DC Slave ging jetzt wieder, vermutlich wegen Bug 23162 Comment 3. Im join.log sah man noch eine Menge tracebacks, weil univention-dnsedit auf einem Slave die Credentials fehlten. Ich übergebe diese jetzt im Join-Script und dadurch treten die tracebacks auf dem Slave nicht mehr auf, ich hoffe das macht jetzt nicht wieder etwas kaputt. Ggf. können die dnsedit-Aufrufe auch kompltee entfallen, ich habe das als Vorschlag an Bug #23168 notiert.
Folgende Warning im Joinlog habe ich gerade gefixt: Warning: Missing value for config registry variable 'set' Create connector/s4/autostart
Im Moment registrieren sich alle DCs bei allen SRV Records, beispielsweise auch für den _gc. http://msdn.microsoft.com/en-us/library/cc223809%28v=prot.10%29.aspx
Super Hinweis, danke! Ich habe das Skript entsprechend um Optionen erweitert, sodass man jetzt DNS-Objekte für DC, RODC, GC, ROGC und PDC Emulator anlegen kann (ROGC := GC auf RODC). Der erste mit samba4/role=DC installierte Samba 4 Server registriert sich als DC, GC und PDC Emulator. Alle weiteren Samba 4 DC registrieren sich als DC und PDC Emulator (Das ist nicht Standard-konform, da die FSMO-Rolle "PDC Emulator" laut MS Doku nur einmal pro Domäne existieren sollte). Samba 4 Server, die mit samba4/role=DC installiert wurden registrieren sich als RODC.
(In reply to comment #6) > Alle weiteren Samba 4 DC registrieren sich als DC und PDC Emulator (Das ist > nicht Standard-konform, da die FSMO-Rolle "PDC Emulator" laut MS Doku nur > einmal pro Domäne existieren sollte). Das wird über Bug #23874 behoben. Der Rest ist OK.
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"