Inhaltsverzeichnis
Mit dem UCS@school-Release 4.1 R2 wurden zwei grundlegende Erweiterungen vorgenommen, die von vielen Kunden gewünscht wurden:
Unterstützung von schulübergreifenden Benutzerkonten für Schüler, Lehrkräfte und Mitarbeiter
Das Identitäts- und Berechtigungsmanagement von UCS@school wurde erweitert, so dass Benutzerkonten für Schüler, Lehrkräfte und Mitarbeiter zukünftig schulübergreifend verwendet werden können. Schulübergreifende Benutzerkonten werden an mehrere, vordefinierte Schulen repliziert und können in diversen Szenarien multiple Benutzerkonten ersetzen (z.B. bei Lehrern, die an mehreren Schulen tätig sind, war zuvor häufig ein separates Benutzerkonto pro Schule notwendig). Benutzer können jetzt das gleiche Benutzerkonto an mehreren Schulen verwenden, was die Arbeit an den Systemen der Domäne vereinfacht und z.B. auch Vorteile bei angebundenen Cloud-Diensten mit sich bringt. Hinweise zur Verwendung der schulübergreifenden Benutzerkonto finden sich im UCS@school-Handbuch.
Vereinfachung der Automatisierung und Pflege von Benutzerkonten
Schulen und Schulträger sind von ihrer Größe mit mittleren und großen Unternehmen zu vergleichen, jedoch mit dem Unterschied, dass sich die gesamte "Belegschaft" jährlich verändert. Die Automatisierung der Benutzerkontenpflege ist deshalb unerlässlich.
Univention hat mit UCS@school 4.1 R2 die Automatisierungsmöglichkeiten stark erweitert, um wichtige Zusatzinformationen, wie Benutzernamen und E-Mailadressen, automatisiert und nach den Vorgaben des Kunden generieren zu können. Damit entfällt der Aufwand eigene Lösungen zur Benutzerkontenpflege zu entwickeln. Darüber hinaus haben wir Schnittstellen in UCS@school geschaffen, über die zusätzliche Datenformate für bestehende Schulverwaltungssysteme integriert werden können, wie XML, JSON und CSV. Die neue Schnittstelle zur Benutzerkontenpflege ermöglicht es, viele Funktionen wie z.B. Lifecycle-Management, Testläufe für den Import und das automatisierte Deaktivieren und Löschen von nicht mehr benötigten Nutzerkonten, umzusetzen.
Durch die Einführung einer neuen Schnittstelle zur Ausführung von Python-Hooks können die Mechanismen zur Benutzerpflege noch einfacher, flexibler und umfangreicher angepasst werden.
Während der Aktualisierung kann es zu Ausfällen von Diensten innerhalb der Domäne kommen. Aus diesem Grund sollte das Update innerhalb eines Wartungsfensters erfolgen. Grundsätzlich wird empfohlen das Update zunächst in einer Testumgebung einzuspielen und zu testen. Die Testumgebung sollte dabei identisch zur Produktivumgebung sein. Je nach Systemgeschwindigkeit, Netzwerkanbindung und installierter Software kann das Update zwischen dreißig Minuten und mehreren Stunden dauern.
Das Update von UCS@school muss zunächst auf dem Domaincontroller Master durchgeführt werden, bevor das Update auf den übrigen UCS@school-Systemen der Domäne gestartet werden kann. Ansonsten wird es zu Problemen auf den übrigen UCS@school-Schulservern kommen.
Für die Umsetzung der schulübergreifenden Benutzerkonten wurden umfangreiche Änderungen am LDAP-Verzeichnisdienst notwendig:
Während des Updates des Domaincontroller Master werden automatisch neue
LDAP-Schemata für UCS@school installiert und neue LDAP-Indizes für die Attribute
ucsschoolSchool
, ucsschoolSourceUID
und
ucsschoolRecordUID
ergänzt. Die Index-Dateien werden in der Standardeinstellung
automatisch aktualisiert. Je nach Umfang des LDAP-Verzeichnisdienstes kann der Aufbau der
LDAP-Indizes einige Minuten in Anspruch nehmen.
Mit der Installation neuer UCS@school-LDAP-ACLs ändert sich das Verhalten
der selektiven Replikation auf die Schulserver. Während bisher die Teilbäume der jeweiligen
Schule/OU nur auf dem zugeordneten Schulserver repliziert wurde, werden jetzt auch die OUs und
Container anderer Schulen auf alle Schulserver repliziert. Speziell handelt es sich dabei um die
Container cn=users,ou=...,LDAP-BASIS
und
cn=groups,ou=...,LDAP-BASIS
, die teilweise übertragen werden. Benutzerkonten
werden hingegen nur übertragen, wenn diese explizit für die jeweilige Schule freigeschaltet
sind. Einige Schul-Gruppen (schueler-...
, lehrer-
,
Domain Users ...
) werden generell auf alle Schulserver übertragen.
Direkt nach dem Update auf UCS@school 4.1 R2 müssen noch nicht alle genannten Objekte und Container auf allen Systemen vorhanden sein. Dies erfolgt bei "Bedarf" sobald eines der betroffenen Objekte im LDAP-Verzeichnis modifiziert wird.
Neben den neuen LDAP-ACLs ist auch eine Anpassung der
UCS@school-Benutzerobjekte, der UCS@school-Administrator-Gruppen und der Schul-OU-Objekte im
LDAP-Verzeichnisdienst notwendig, die unterhalb der Schul-OU-Objekte bzw. in dem zentralen Container
cn=ouadmins,cn=groups,LDAP-BASIS
liegen. Während des Updates von UCS@school 4.1 R2
wird auf dem Domänencontroller Master automatisch bei der Ausführung des Joinskriptes
35ucs-school-import.inst
die Anpassung der UCS@school-Benutzerobjekte und
-Gruppenobjekte vorgenommen. Dies kann je nach Umgebungsgröße einige Zeit beanspruchen und führt
während der Anpassungen zu einer erhöhten Last bei LDAP-Servern und LDAP-Replikation.
Um die automatische Anpassung zu verhindern, kann VOR dem Update auf UCS@school 4.1 R2
die Univention Configuration Registry-Variable ucsschool/update/ldap/41R2
auf den Wert false
gesetzt werden. Die Anpassung der Objekte muss dann für die korrekte Funktion der
UCS@school-Umgebung manuell nachgeholt werden. Dafür muss das folgende Kommando als Benutzer
root
auf dem Domänencontroller Master ausgeführt werden:
/usr/share/ucs-school-import/scripts/ucs-school-migrate-objects-to-4.1R2
.
import_user
Das Importskript import_user
wurde vollständig überarbeitet und verwendet jetzt die neue Schnittstelle für die Benutzerpflege.
Dies bringt die folgenden Verhaltensänderungen mit sich:
Die Ausgaben des Skriptes haben sich geändert und sind jetzt wesentlich ausführlicher. Wurden die Ausgaben automatisiert ausgewertet, sind hier ggf. Anpassungen notwendig.
In der Datei /var/log/univention/ucs-school-import.log
werden die Ausgaben des Skriptes fortlaufend gesammelt.
Wurde für einen Benutzer die OU geändert, wurde in vorherigen UCS@school-Versionen der Benutzer in der alten Schule/OU gelöscht und in der neuen Schule/OU neu angelegt. Jetzt wird der Benutzer im LDAP-Verzeichnis verschoben und Gruppenmitgliedschaften bzw. Benutzerattribute entsprechend angepasst. Dies führt dazu, dass der Benutzer beim Verschieben z.B. seine Benutzernummer (uidNumber) oder Windows-Security-ID (sambaSID) beibehält.
Die Import-Hooks unterhalb von
/usr/share/ucs-school-import/hooks/
werden ab diesem Release als veraltet
betrachtet und mit einem zukünftigen UCS@school-Release nicht mehr unterstützt. Es wird empfohlen,
die Import-Hooks auf die neuen Python-basierten Import-Hooks umzustellen, da diese u.a. eine bessere
Performance liefern.
Bei der Angabe von Klassennamen für kommandozeilenbasierte Importskripte
(import_user
, import_groups
und
ucs-school-user-import
) ist jetzt immer die Angabe der Schule als Präfix
erforderlich, z.B. gsmitte-1B
für die Klasse 1B
an der Schule
gsmitte
. Sind im LDAP-Verzeichnis Klassennamen noch ohne Schul-Präfix vorhanden,
sollten diese über das Skript rename_class
entsprechend umbenannt werden, um
Probleme mit den Importskripten zu vermeiden.
Die UMC-Module sind von dieser neuen Anforderung nicht betroffen. Hier
wird der Schul-Präfix bei der Anzeige automatisch entfernt und nach Benutzereingaben automatisch
hinzugefügt. D.h. in den UMC-Modulen 1B
) aus.
Es sollte geprüft werden, ob ausreichend Festplattenplatz verfügbar ist. Eine Standard-Installation benötigt min. 6 GB Speicherplatz. Das Update benötigt je nach Umfang der vorhanden Installation mindestens 1,0 GB weiteren Speicherplatz zum Herunterladen und Installieren der Pakete.
Für das Update sollte eine Anmeldung auf der lokalen Konsole des Systems mit dem Benutzer root durchgeführt und das Update dort gestartet werden. Alternativ kann das Update über die Univention Management Console durchgeführt werden.
Eine Remote-Aktualisierung über SSH wird nicht empfohlen, da dies beispielsweise bei
Unterbrechung der Netzverbindung zum Abbruch des Update-Vorgangs und zu einer
Beeinträchtigung des Systems führen kann. Sollte dennoch eine Aktualisierung über eine
Netzverbindung durchgeführt werden, ist sicherzustellen, dass das Update bei einer Unterbrechung
der Netzverbindung trotzdem weiterläuft. Hierfür können beispielsweise die Tools
screen
oder at
eingesetzt werden, die auf allen
Systemrollen installiert sind.
Nach dem Update müssen die neuen oder aktualisierten Join-Skripte ausgeführt werden. Dies kann auf zwei Wegen erfolgen:
über das UMC-Modul
oder
durch Aufruf des Befehls univention-run-join-scripts
als Benutzer root.
Univention Management Console verwendet für die Darstellung der Web-Oberfläche zahlreiche Javascript- und CSS-Funktionen. Cookies müssen im Browser zugelassen sein. Die folgenden Browser werden empfohlen:
Chrome ab Version 33
Firefox ab Version 24
Internet Explorer ab Version 9
Safari und Safari Mobile ab Version 7
Auf älteren Browsern können Darstellungs- oder Performanceprobleme auftreten.
Die Changelogs mit den detaillierten Änderungsinformationen werden nur in Englisch gepflegt. Aufgeführt sind die Änderungen zwischen den UCS@school-Versionen 4.1 v5 und 4.1 R2 v1. Die Änderungsinformationen für vorherige Versionssprünge finden sich unter https://docs.software-univention.de/.
ucs-school-migrate-objects-to-4.1R2
was added to convert user objects, admin group objects and school OU objects to the LDAP structure of UCS@school 4.1 R2.
By default, this script is automatically called by the join script 35ucs-school-import
.
The automatic execution may be disabled by setting the Univention Configuration Registry variable ucsschool/update/ldap/41R2
to the value false
PRIOR to the update (Bug 41162, Bug 41494, Bug 41583).
create_ou
has been adjusted accordingly (Bug 41583).
import_user
script has been rewritten from scratch, with a focus on extensibility.
Additionally to the existing hooks in /usr/share/ucs-school-import/hooks/user_*
Python-based hooks can now be placed in /usr/share/ucs-school-import/pyhooks/user_*
.
Documentation on configuration files and an example of a Python based hook is available at /usr/share/doc/ucs-school-import
(Bug 41239, Bug 41242).
ucsschoolStudent
, ucsschoolTeacher
, ucsschoolStaff
, ucsschoolAdministrator
and the LDAP attribute uscschoolSchool have been added (Bug 41008).
ucsschoolExam
has been added (Bug 41123).
ucsschool/userlogon/umclink/filter
defines this LDAP filter which by default detects teacher and staff users.
The old Univention Configuration Registry variable ucsschool/userlogon/umclink/re
is only evaluated if the user has no UCS@school object class (Bug 41304).
ucsschoolSchool
, ucsschoolRecordUID
and ucsschoolSourceUID
are added automatically to the LDAP indexes during the update to UCS@school 4.1 R2 (Bug 41297).
In large environments it took a long time to open some UMC modules. The initial, unrestrained search to populate the list views lasts long, if there are a lot of objects. This autosearch can now be disabled via the Univention Configuration Registry variables:
ucsschool/workgroups/autosearch
ucsschool/assign-classes/autosearch
ucsschool/assign-teacher/autosearch
ucsschool/passwordreset/autosearch
ucsschool/wizards/schoolwizards/users/autosearch
ucsschool/wizards/schoolwizards/classes/autosearch
ucsschool/wizards/schoolwizards/computers/autosearch
ucsschool/wizards/schoolwizards/schools/autosearch
ucsschool/wizards/autosearch
/usr/share/ucs-school-umc-exam-master/exam-and-room-cleanup
. The script stops
all running exams (if possible). Afterwards all remains of (broken) exams and room settings are
removed (Bug 40213).