Inhaltsverzeichnis
Mit Univention Corporate Server 5.0-1 steht das erste Point-Release für Univention Corporate Server (UCS) 5.0 zur Verfügung. Es umfasst Funktionserweiterungen und Verbesserungen, neue Eigenschaften sowie diverse Detailverbesserungen und Fehlerkorrekturen. Die wichtigsten Änderungen im Überblick:
UCS 5 Design im hellen Theme. Wie zum Release von UCS 5.0-0 angekündigt, gibt es neben dem Dark Theme auch ein Light Theme für UCS 5.0. Nutzer des UCS Managementsystems können damit zwischen den beiden Themes umschalten.
Zeitgesteuerte Aktivierung von Benutzerkonten. UCS Administratoren können Benutzerkonten anlegen und mit Datum und Uhrzeit definieren, wann sie aktiviert werden. Das Anlegen von Benutzerkonten kann somit besser geplant werden und im Voraus erfolgen, ohne dass die Benutzerkonten gleich aktiv sind.
Zahlreiche Verbesserungen am UCS Portal. Nutzer des UCS Portals können sich an zahlreichen Verbesserung erfreuen. Nennenswert sind hier:
Verbesserungen bei der Barrierefreiheit des Portals, zum Beispiel bei der Bedienung mit der Tastatur
Verbesserte Handhabung der Übersetzung in einem separaten Dialog, um den Bearbeitungsdialog zu "entschlacken"
Verbesserte Handhabung von Benachrichtigungen.
Anpassung des Cookie Banners an das Portal Layout.
App Center: Zahlreiche Bugfixes in der Handhabung der App Settings.
Wizard zur Benutzerstellung: Anzeige von als benötigt markierten Attributen. Per UCR Variable kann konfiguriert werden, welche Benutzerattribute welche Standardwerte haben und bei der Erstellung eines Benutzerkontos sichtbar sind. Damit kann ein Administrator zum Beispiel festlegen, welche Parameter auf jeden Fall explizit beim Erstellen eines Benutzerkontos abgefragt werden und Werte enthalten müssen, z.B. die E-Mailadresse, die standardmäßig nicht erforderlich ist.
Dieses Univention Corporate Server Release basiert auf Debian 10.11 Buster.
Diverse Security Updates wurden in UCS 5.0-1 integriert, bspw. für Samba4, OpenSSL, PHP und den Linux Kernel.
Während der Aktualisierung kann es zu temporären 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 20 Minuten und mehreren Stunden dauern. In großen Umgebungen kann es sinnvoll sein, den [ucs-performance-guide] zu berücksichtigen.
In Umgebungen mit mehr als einem UCS-System muss die Update-Reihenfolge der UCS-Systeme beachtet werden:
Auf dem Primary Directory Node (frühere Bezeichnung: Domänencontroller Master) wird die maßgebliche (authoritative) Version des LDAP-Verzeichnisdienstes vorgehalten, die an alle übrigen LDAP-Server der UCS-Domäne repliziert wird. Da bei Release-Updates Veränderungen an den LDAP-Schemata auftreten können, muss der Primary Directory Node bei einem Release-Update immer als erstes System aktualisiert werden.
UCS 5 wird nur noch für 64-Bit-Architekturen bereitgestellt. Vorhandene 32-Bit UCS Systeme können nicht auf UCS 5 aktualisiert werden.
Beginnend mit UCS 5.0 wird ein gleichzeitiger Betrieb von UCS und Debian auf einem UEFI System nicht unterstützt.
Ursache hierfür ist der Bootloader GRUB von Univention Corporate Server, der teilweise die gleichen Konfigurationsdateien wie Debian verwendet. Ein bereits installiertes Debian führt dazu, dass UCS nach der Installation von bzw. einem Update auf UCS 5.0 nicht (mehr) gebootet werden kann. Eine nachträgliche Installation von Debian wird ebenfalls dazu führen, dass UCS 5.0 nicht mehr gebootet werden kann.
An folgendem Artikel werden weitere Hinweise zu diesem Thema gesammelt: https://help.univention.com/t/17768
Dieser Abschnitt ist für Umgebungen relevant, in denen ein lokales Repository eingerichtet ist. Die installierte (Major-)Version von UCS bestimmt welche Pakete ein lokales Repository bereitstellt. Ein Repository das auf einem UCS Server in Version 4.x betrieben wird stellt nur Pakete bis zur Version UCS 4.x bereit, ein Repository auf einem UCS 5 Server stellt nur Pakete für UCS 5 und neuere Versionen bereit. Um in einer Umgebung mit lokalem Repository Systeme auf UCS 5 zu aktualisieren, bestehen unter anderem die folgenden Möglichkeiten. Zunächst muss ein lokaler UCS 5 Repository Server aufgesetzt werden.
univention-join
beitreten.
Um ein System in der Domäne auf UCS 5 zu aktualisieren, sollte der Server zunächst auf den aktuellsten Paketstand unter UCS 4.x aktualisiert werden.
Anschließend wird der vom System verwendete Repository Server durch das Ändern der Univention Configuration Registry-Variable repository/online/server
auf das lokale UCS 5 Repository gesetzt.
Das System kann nun über die Univention Management Console oder über die Kommandozeile auf UCS 5 aktualisiert werden.
Manuell erstellter Python-Programmcode muss vor dem Update auf Kompatibilität mit Python 3.7 geprüft und entsprechend angepasst werden. Das betrifft auch Univention Configuration Registry Templates, die Python-Code enthalten. Angepasste Univention AD Connector Mapping Templates sind ein Beispiel. In der [developer-reference] finden sich weitere Hinweise.
Es sollte geprüft werden, ob ausreichend Festplattenplatz verfügbar ist. Eine Standard-Installation benötigt min. 6-10 GB Speicherplatz. Das Update benötigt je nach Umfang der vorhanden Installation ungefähr 1-2- GB zusätzlichen 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 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 Unterbrechung der Netzverbindung trotzdem weiterläuft.
Hierfür können beispielsweise die Tools tmux
, screen
oder at
eingesetzt werden, die auf allen UCS Systemrollen installiert sind.
Univention bietet ein Skript an, mit dem Probleme, die das Update des UCS Systems verhindern würden, schon vor dem Update erkannt werden können. Dieses Skript kann vor dem Update manuell auf das System geladen und ausgeführt werden:
# download curl -OOf https://updates.software-univention.de/download/univention-update-checks/pre-update-checks-5.0-1{.gpg,} # verify and run script apt-key verify pre-update-checks-5.0-1{.gpg,} && bash pre-update-checks-5.0-1 ... Starting pre-update checks ... Checking app_appliance ... OK Checking block_update_of_NT_DC ... OK Checking cyrus_integration ... OK Checking disk_space ... OK Checking hold_packages ... OK Checking ldap_connection ... OK Checking ldap_schema ... OK ...
Nach dem Update müssen die neuen oder aktualisierten Join-Skripte ausgeführt werden.
Dies kann auf zwei Wegen erfolgen:
Entweder über das UMC-Modul univention-run-join-scripts
als Benutzer root
.
Anschließend muss das UCS-System neu gestartet werden.
Bei Verwendung der UCS Core Edition werden anonyme Nutzungsstatistiken zur Verwendung von Univention Management Console erzeugt. Die aufgerufenen Module werden dabei von einer Instanz des Web-Traffic-Analyse-Tools Piwik protokolliert. Dies ermöglicht es Univention die Entwicklung von Univention Management Console besser auf das Kundeninteresse zuzuschneiden und Usability-Verbesserungen vorzunehmen.
Diese Protokollierung erfolgt nur bei Verwendung der UCS Core Edition. Der Lizenzstatus kann überprüft werden durch den Eintrag des Benutzermenüs in der rechten, oberen Ecke von Univention Management Console. Steht hier unter der Eintrag wird eine solche Edition verwendet. Bei Einsatz einer regulären UCS-Lizenz erfolgt keine Teilnahme an der Nutzungsstatistik.
Die Protokollierung kann unabhängig von der verwendeten Lizenz durch Setzen der Univention Configuration Registry-Variable umc/web/piwik
auf false
deaktiviert werden.
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 85
Firefox ab Version 78
Safari und Safari Mobile ab Version 13
Microsoft Edge ab Version 88
Mit älteren Browsern können Darstellungs- oder Performanceprobleme auftreten.
Die Changelogs mit den detaillierten Änderungsinformationen werden nur in Englisch gepflegt. Aufgeführt sind die Änderungen seit UCS 5.0-0:
All security updates issued for UCS 5.0-0 are included:
The following updated packages from Debian Buster 10.11 are included (Bug 54218): ansible, apache-log4j2, apt, aspell, atftp, awstats, base-files, btrbk, c-ares, clamav, clevis, commons-io, connman, crmsh, cyrus-imapd, debconf, debian-installer-netboot-images, distcc, distro-info-data, dnspython, dput-ng, espeak-ng, eterm, exactimage, exiv2, ffmpeg, fig2dev, fluidsynth, freediameter, fwupd-amd64-signed, fwupdate-amd64-signed, fwupdate, fwupd, gcc-mingw-w64, golang-github-docker-docker-credential-helpers, grilo, gthumb, hg-git, htmldoc, htslib, http-parser, hyperkitty, ipmitool, ircii, irssi, isync, jackson-databind, java-atk-wrapper, jetty9, ledgersmb, lemonldap-ng, libbusiness-us-usps-webtools-perl, libdatetime-timezone-perl, libgetdata, libmateweather, libpam-tacplus, libspf2, libuv1, libxml-security-java, libxstream-java, liferea, linuxptp, lynx, mailman, mediawiki, modsecurity-crs, mqtt-client, mumble, mupdf, neutron, nextcloud-desktop, nginx, nmap, node-ansi-regex, node-axios, node-glob-parent, node-handlebars, node-hosted-git-info, node-jszip, node-redis, node-tar, node-ws, nvidia-cuda-toolkit, nvidia-graphics-drivers-legacy-390xx, nvidia-graphics-drivers, opendmarc, openjdk-11-jre-dcevm, openjdk-11, openvpn, php-horde-text-filter, plinth, postorius, proftpd-dfsg, prosody, psmisc, python-uflash, rails, redis, request-tracker4, ring, roundcube, ruby-kaminari, ruby-websocket-extensions, rust-rustyline, rxvt-unicode, sabnzbdplus, salt, scrollz, shim-helpers-amd64-signed, shim, shim-signed, shiro, speedtest-cli, squashfs-tools, strongswan, thunderbird, tnef, tomcat9, tor, trafficserver, tzdata, ublock-origin, uim, ulfius, user-mode-linux, velocity, webkit2gtk, wireshark, wml, wordpress, xen, xfce4-weather-plugin, xmlgraphics-commons, yubikey-manager
The following packages have been moved to the maintained repository of UCS: univention-tftp (Bug 35487)
ucr commit
now prints a warning if a file is specified for which no template is registered (Bug 50010).
handler()
with a dictionary mapping variables to a 2-tuple containing the old and new value, even when ucr commit
or ucr register
are invoked (Bug 53424).
last_id
atomically (Bug 51910).
listener/listener
file cannot be written (Bug 51910).
<TransID>
if last_id
could not be determined as all (Bug 51910).
listener/listener.priv
file too if getting last_id
failed (Bug 51910).
listener/listener
file if getting last_id
failed (Bug 51910).
univention-translog
have been improved (Bug 51911, Bug 49430).
univention-translog
now also checks the file listener/listener.priv
if that exists (Bug 51911, Bug 49430).
univention-translog
recognizes the special values <TransID>
and 0
and is able to fix them (Bug 51911, Bug 49430).
translog
overlay is not a valid integer (Bug 51911, Bug 49430).
failed.ldif
has been repaired, it was broken due to the Python 3 migration (Bug 53430).
/var/log/univention/listener.log
(Bug 53071).
overview=false
has been adjusted (Bug 53906).
DateBox
and TimeBox
now handle empty values correctly and support the syntax date2
again (Bug 53631).
ucs/web/theme
has been added to configure a theme for all UCS web interfaces.
The dark theme is the default (Bug 53307).
/usr/share/univention-portal/apps.json
was unused and has been removed (Bug 53651).
console.log
messages (Bug 53385, Bug 53491).
modals
cannot be closed when clicking the background;
New layer for loading animation (Bug 53385, Bug 53491).
image/svg+xml
(Bug 53779).
umc/http/enforce-secure-cookie
can be set to make cookies secure when using a HTTPS connection (Bug 51242).
umc/http/enforce-session-cookie
can be set to make the login cookie a session cookie.
Closing the browser will delete the cookie, effectively logging out the user (Bug 53508).
docker inspect
fails has been repaired (Bug 53803).
/usr/share/univention-portal/apps.json
was unused and has been removed (Bug 53651).
users/user
(Bug 53631).
remove_childs
option of UDM function remove()
in the delete()
method to recursively delete objects below the DN of the object that is being deleted (Bug 53667).
users/user
the property `lockedTime` is now correctly handled in Python 3 (Bug 53574).
ucs_registerLDAPExtension
from the Univention shell library now allows the option umcmessagecatalog
.
This option can be used to supply translation files in GNU message catalog format for UMC (Bug 53532).
mspolicy
password complexity criteria was configured due to the missing displayname (Bug 53339).
refint
for the attribute uniqueMember has been enabled (Bug 54185).
join.log
in UMC now shows the newest entries instead of the first 2 MB only (Bug 53941).
policy_result
Python library (Bug 53943).
echowithtimestamp
(Bug 53182).
fstab
entries now rejects more invalid values and generates valid values in certain cases (Bug 53902).
ucs_registerLDAPExtension
from the Univention shell library now allows the option umcmessagecatalog
.
This option can be used to supply translation files in GNU message catalog format for the UMC (Bug 53532).
unset
values might have changed, e.g. update/check/boot/enabled
and update/check/cron/enabled
are affected (Bug 47860).
ucs-releases.json
to prevent it from being removed on local repository clean (Bug 53429).
ucs/web/theme
(Bug 53533).
listfilter.py
did not respect the Univention Configuration Registry variable mail/postfix/policy/listfilter/use_sasl_username=yes
when it is executed with the option --test
(Bug 53463).
check_univention_slapd_mdb_maxsize
now takes the number of free pages into account for checking the size of the LDAP database (Bug 54186).
samba-shares.py
is prevented during the removal of shares with assigned NT ACLs (Bug 53414).
samba-shares.py
have been corrected (Bug 53458).
/usr/share/univention-s4-connector/msgpo.py
now supports the arguments --binddn
and --bindpwdfile
, which have been accidently removed in UCS 5.0 (Bug 53705).
connector/ad/max_retry_rejected
, which defaults to 10 tries (Bug 54147).
ucs_registerLDAPExtension
from the Univention shell library now allows the option umcmessagecatalog
.
This option can be used to supply translation files in GNU message catalog format for the UMC (Bug 53532).
refint
can now be enabled by setting the Univention Configuration Registry variable ldap/refint=true
.
It enforces referential integrity for the attribute uniqueMember.
For updates the module will not be enabled by default (Bug 54185).
[ucs-performance-guide] Univention GmbH. 2021. UCS performance guide. https://docs.software-univention.de/performance-guide-5.0.html.
[developer-reference] Univention GmbH. 2021. Univention Developer Reference. https://docs.software-univention.de/developer-reference-5.0.html.