Univention Bugzilla – Bug 25991
Standort-Konfiguration für Samba4
Last modified: 2012-06-11 06:29:51 CEST
Damit Windows-Clients an UCS@School Standorten primär den Standort-DC verwenden, sollten die Samba4 DNS Service Records selektiv zum Standort-Server repliziert werden. Da diese nicht unter einer Standort-OU liegen sind hier etnweder Anpassungen in den zentralen LDAP-ACLs bzw. im Samba4-Connector an den Standorten notwendig.
Nett wäre es, wenn der Schul-DC einfach gegen eine andere Site joinen kann: root@master641:~# samba-tool domain join --help | grep site --site=SITE site to join
Created attachment 4154 [details] univention-samba4-site-tool.py --site BranchSite1 --createsite --subnet "10.200.8.0/24" --createsubnet Mit dem angehängten Script lassen sich AD-sites, siteLinks und subnets anlegen und miteinander verknüpfen. Die erzeugten Objekte und Attribute entsprechen den Werten, die das Microsoft-Programm "Active Directory-Standorte und -Dienste" anlegt.
Created attachment 4237 [details] Neue Option "--site=SITENAME" für das setup-dns-in-ucsldap.sh Skript. Damit die Windows-Clients die Standort-spezifischen LDAP-, Kerberos- und GC-Dienste lokalisieren können, müssen zusätzlich zu den Objekten im Samba4-Verzeichnis entsprechende SRV-Records für den jeweiligen Sitenamen angelegt werden (statt bisher per default in "Default-Site-Name").
school_ou enhält offenbar ein "bashism". -> more /tmp/r . /usr/share/ucs-school-lib/base.sh site=$(school_ou) -> sh -x /tmp/r ... + [ CN == OU ] [: 1: CN: unexpected operator + tr a-z A-Z + echo cn + key=CN + [ CN == OU ] [: 1: CN: unexpected operator ... "equality with test == use = instead only = is defined by POSIX, = works also in bash" Das es mindestens ein Join Skript gibt (62ucs-school-slave.inst) welches diese Funktion verwendet aber mit sh (dash) gestaret wird, habe ich das auf if [ "$key" = "OU" ]; then geändert.
Der Standort wird jetzt im ucs-school-slave Joinscript aus der OU des ldap/hostdn ermittelt und in samba4/join/site gesetzt. das univention-samba4 Joinscript verwendet diese UCR-Variable beim Join und beim Anlegen der DNS-Records.
Die DNS Registrierung funktionierte in meinen Tests nicht, dazu habe ich einen neuen Bug geöffnet.
UCS@school 3.0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS@school erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"