UCS 5.0 Release Notes

Release Notes für die Inbetriebnahme und Aktualisierung von Univention Corporate Server (UCS) 5.0-0


Inhaltsverzeichnis

1. Release-Highlights
2. Hinweise zum Update
2.1. Empfohlene Update-Reihenfolge
2.2. UCS nur noch als 64-Bit-Variante
2.3. Entfernte Komponenten
2.4. Erhöhung der minimalen TLS Protokollversion
2.5. Änderungen in Samba
2.6. Hinweise zu Default-Master-Paketen
2.7. Hinweise zu Anmeldeinformationen, die an Join-Skripte übergeben werden
3. Gleichzeitiger Betrieb von UCS und Debian auf UEFI Systemen
4. Lokales Repository
5. Portal
6. Vorbereitung des Updates
7. Nachbereitung des Updates
8. Hinweise zum Einsatz einzelner Pakete
8.1. Netzwerkkonfiguration
8.2. Erfassung von Nutzungsstatistiken
8.3. Empfohlene Browser für den Zugriff auf Univention Management Console
9. Changelog
9.1. General
9.2. Univention Installer
9.3. Basic system services
9.3.1. Linux kernel and firmware packages
9.3.2. Univention Configuration Registry
9.3.2.1. Changes to templates and modules
9.3.3. Boot Loader
9.3.4. Other system services
9.4. Domain services
9.4.1. OpenLDAP
9.4.1.1. LDAP ACL changes
9.4.1.2. LDAP schema changes
9.4.1.3. LDAP index changes
9.4.1.4. Listener/Notifier domain replication
9.4.2. DNS server
9.5. Univention Management Console
9.5.1. Univention Management Console web interface
9.5.2. Univention Portal
9.5.3. Univention Management Console server
9.5.4. Univention App Center
9.5.5. Univention Directory Manager UMC modules and command line interface
9.5.6. Modules for system settings / setup wizard
9.5.7. Software update module
9.5.8. Domain join module
9.5.9. Univention Directory Reports
9.5.10. Computers module
9.5.11. DHCP module
9.5.12. System diagnostic module
9.5.13. Process overview module
9.5.14. Policies
9.5.15. Printers module
9.5.16. Filesystem quota module
9.5.17. Univention Configuration Registry module
9.5.18. Other modules
9.5.19. Development of modules for Univention Management Console
9.6. Univention Updater
9.7. Univention base libraries
9.8. Software monitor
9.9. System services
9.9.1. MariaDB
9.9.2. Docker
9.9.3. SAML
9.9.4. Mail services
9.9.5. Printing services
9.9.6. Nagios
9.9.7. RADIUS
9.9.8. Kerberos
9.9.9. SSL
9.9.10. Celery services
9.9.11. DHCP server
9.9.12. PAM / Local group cache
9.9.13. NFS
9.9.14. Bacula and Backup
9.9.15. Other services
9.10. Virtualization
9.11. Services for Windows
9.11.1. Samba
9.11.2. Univention AD Takeover
9.11.3. Univention S4 Connector
9.11.4. Univention Active Directory Connection
9.12. Other changes
Literaturverzeichnis

§Kapitel 1. Release-Highlights

Mit Univention Corporate Server 5.0-0 steht das fünfte Major Release für Univention Corporate Server (UCS) zur Verfügung. Es umfasst Funktionserweiterungen und Verbesserungen, neue Eigenschaften sowie diverse Detailverbesserungen und Fehlerkorrekturen. Die wichtigsten Änderungen im Überblick:

  • Dieses neue Major Univention Corporate Server Release basiert auf Debian 10.9 Buster. Viele Pakete liegen in neuerer Version vor. Einige Beispiele sind der Linux-Kernel (4.19), PostgreSQL (11), Python 3 (3.7) und Samba (4.13.7).

  • Das Portal wurde aktualisiert um die zentrale Anlaufstelle für Univention Corporate Server Nutzer zu sein. Apps und Webseiten lassen sich als frame im Portal einbinden (iframe). Nutzer können dadurch schnell Apps öffnen und zwischen ihnen wechseln. Organisationen können ihre Identität durch eine zentrale Seite stärken, auf der alle Apps zu finden sind.

  • Python ist die Sprache der Wahl für viele Univention Corporate Server Komponenten, ein Großteil wurde migriert um auf Python 3.7 zu laufen. Python 2.7 wird mit UCS 5.0 weiter unterstützt, wird aber zu UCS 5.1 entfernt.

  • Die Univention Management Console ist jetzt in einem dunklen Design gehalten. Ein helles Design wird mit einem Update nachgeliefert werden.

  • Die Systemrollen wurden umbenannt. "Domänencontroller Master" wurde umbenannt zu "Primary Directory Node", "Domänencontroller Backup" zu "Backup Directory Node", "Domänencontroller Slave" zu "Replica Directory Node" und "Memberserver" zu "Managed Node". Dies ist noch nicht abgeschlossen, in diesem Release wurden die Dokumentation und UI-Texte angepasst.

  • Software-Installation erfolgt nun ausschließlich über das App Center. Die Software-Auswahl während des Installationsprozesses eines Univention Corporate Server Nodes wurde entfernt.

  • Es können jetzt mehrere Apps in einem Schritt über das App Center installiert werden. Abhängigkeiten zwischen Apps werden automatisch aufgelöst indem mehrere Apps installiert werden, falls sie in der Domäne benötigt werden. Die Funktion mehrere Apps zu installieren ersetzt die Software-Auswahl während des Installationsprozesses.

  • Ob ein Univention Corporate Server bereit für ein Upgrade von 4.4 auf 5.0 ist, kann über das hier verlinkte Skript geprüft werden. univention-upgrade wird das Upgrade nicht durchführen, wenn diese Tests nicht erfolgreich sind. Eine ausführliche Anleitung zum Upgrade ist in Kapitel 6 zu finden.

  • Die Paketquellen wurden auf eine feste Anzahl von zwei reduziert, eine für das Release und eine für Errata-Updates. Dadurch wird das Aktualisieren des apt Paket Metadaten-Caches beschleunigt, vor allem für spätere UCS 5 Releases. Hierfür waren Änderungen am Paketdepot nötig, ein lokales UCS 4.x Paketdepot wird keine UCS 5.x Pakete ausliefern können, siehe auch Kapitel 4.

  • Univention Configuration Registry-Variablen können jetzt einen Vorgabewert haben, welcher zurückgegeben wird falls die Variable nicht gesetzt ist. Es ist zu beachten, dass noch nicht alle Pakete dieses Feature nutzen sondern Vorgabewerte teilweise direkt im Template definieren.

  • Der Linux-Kernel, inklusive der signierten UEFI secure boot Variante, welcher mit UCS 5 ausgeliefert wird, ist nun identisch zum Kernel in Debian.

  • Die Univention Management Console hat ein neues Willkommensmodul erhalten, um Administratoren durch die ersten Schritte bei der Nutzung eines Univention Corporate Server zu führen, zum Beispiel durch das Anfordern einer Lizenz oder die Installation von Apps.

  • Für eine einheitlichere und einfachere Verwaltung von Diensten sind die Dienste Univention Directory Listener, Univention Directory Notifier und univention-dhcp von runit-Diensten zu nativen systemd-Diensten umgestellt worden.

  • Eine vollständige Liste von Änderungen und Verbesserungen in diesem Release findet sich in Kapitel 9 am Ende dieses Dokumentes.

§Kapitel 2. Hinweise zum Update

Voraussetzung für ein Update ist mindestens UCS 4.4-8 mit UCS 4.4-8 erratum 972. Erst dann wird das verfügbare Update angezeigt. Generell wird empfohlen, vor dem Update zunächst auch alle weiteren Errata einzuspielen.

Falls das Update aus der Univention Management Console heraus gestartet wird: Vor der tatsächlichen Aktualisierung werden verschiedene Tests ausgeführt, z.B. ob alle installierten Apps auch für UCS 5.0 zur Verfügung stehen. Zu diesem Zeitpunkt befindet sich das Webinterface bereits im Wartungsmodus und es wird lediglich ein Fortschrittsbalken angezeigt. Falls ein Test fehlschlägt, wird das Update abgebrochen und der Grund nach /var/log/univention/updater.log geschrieben. Um sich diese Datei im Webinterface anzusehen, loggen Sie sich in die Univention Management Console ein, öffnen Sie das Modul Software-Aktualierung und klicken Sie auf "Log-Datei ansehen".

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.

§2.1. Empfohlene Update-Reihenfolge

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.

§2.2. UCS nur noch als 64-Bit-Variante

UCS 5 wird nur noch für 64-Bit-Architekturen bereitgestellt. Vorhandene 32-Bit UCS Systeme können nicht auf UCS 5 aktualisiert werden.

§2.3. Entfernte Komponenten

In UCS 5 wurden mehrere Integrationspakete entfernt.

UCS Virtual Machine Manager,
src:univention-kvm-virtio,
src:univention-novnc,
src:univention-virtual-machine-manager-daemon,
src:univention-virtual-machine-manager-node,
src:univention-virtual-machine-manager-schema
UCS 5 stellt keine grafische Benutzeroberfläche zum Betrieb virtueller Maschinen zur Verfügung, aber unter UCS können weiterhin per KVM virtualisierte Systeme betrieben werden. Ebenso kann UCS weiterhin virtualisiert auf verschiedenen Hypervisoren laufen. Die Debian-Pakete libvirt und qemu sind weiterhin verfügbar. Das Update auf UCS 5 wird blockiert solange die Integrationspakete für UVMM nicht entfernt worden sind. Alle LDAP-Objekte mit univentionObjectType vom Typ uvmm/profile und uvmm/info sollten entfernt werden.
Bacula,
src:univention-bacula
Die direkte Integration für Bacula Backup wurde entfernt. Bacula und Bareos sind weiterhin als Debian Pakete und auch im App Center verfügbar.
src:univention-doc
Die Python API Dokumentation ist jetzt online verfügbar.
MRTG,
src:univention-mrtg
MRTG wurde entfernt. Als Ersatz wird eine vergleichbare Funktionalität durch die UCS Dashboard App abgedeckt.
src:univention-java
Das Integrationspaket wurde entfernt. Das von Debian bereitgestellte OpenJDK kann weiterhin verwendet und installiert werden über die Pakete default-jre oder default-jdk.
KDE,
src:univention-kde
Das Integrationspaket für das K Desktop Environment (KDE) wurde entfernt. Die von Debian bereitgestellten Pakete sind weiterhin verfügbar.
src:univention-ftp
Das Integrationspaket für FTP wurde entfernt. Die von Debian bereitgestellten Pakete für ProFTPd und andere FTP-Server sind weiterhin verfügbar.
MySQL,
src:univention-mysql
Das Integrationspaket für MySQL wurde entfernt. Es wurde durch MariaDB abgelöst.
PyKota,
src:univention-printserver-quota
Das Druck-Kontigent-System PyKota wurde entfernt, weil es upstream nicht mehr unterstützt ist.
DansGuardian,
src:univention-dansguardian
Die Unterstützung des Filterungssystems DansGuardian wurde eingestellt, weil es upstream nicht mehr gepflegt wird.
Samba 4 WINS,
src:univention-samba4wins
Unterstützung für Windows NT Domänen wurde von Samba abgekündigt.
Linux Kernel,
GRUB,
SHIM,
src:univention-kernel-image,
src:univention-kernel-image-signed,
src:shim-signed,
src:grub-efi-amd64-signed
Debian unterstützt UEFI Secure Boot direkt selbst. UCS spezifische Pakete wurden entfernt. Der aktuelle Linux-Kernel für Debian wird automatisch durch das Paket linux-image-amd64 installiert. Die zugehörigen Header-Dateien können bei Bedarf über das Paket linux-headers-amd64 installiert werden.

§2.4. Erhöhung der minimalen TLS Protokollversion

Im Bereich Kryptographie erhöht sich die minimale TLS Protokollversion auf 1.2. Für OpenSSL ist dies durch den Parameter MinProtocol in /etc/ssl/openssl.cnf festgelegt. Als Konsequenz sollten vor dem Update auf UCS 5.0 TLS Verbindungen zu externen Systemen auf TLS 1.2 Unterstützung geprüft werden, weil sie sonst danach fehlschlagen können. Dies betrifft AD-Connector Setups, die UCS mit Microsoft Server Versionen älter als 2012R2 synchronisieren, falls sie dafür konfiguriert sind, eine verschlüsselte Verbindung zu verwenden. Zusätzlich ändert sich die Voreinstellung für den OpenSSL CipherString, der nun auf DEFAULT@SECLEVEL=2 angehoben ist. Dies schränkt zusätzlich die nutzbaren Verfahren ein, insbesondere schließt es SHA1 aus. Z.B. unterstützt Windows Server 2012 in der Voreinstellung weniger Verfahren als Windows Server 2012R2.

§2.5. Änderungen in Samba

Samba wurde auf die Version 4.13.7 aktualisiert und enthält auch den Patch für die Sicherheitslücke CVE-2021-20254 aus 4.13.8. Weitere Details dazu und zu den folgenden Punkten sind im Changelog weiter unten aufgeführt.

Während des Updates auf UCS 5 konvertiert Samba die SAM-Datenbank auf ein neues Index-Format. Da diese Operation transaktionsbasiert erfolgt, verdoppelt sich der Speicherbedarf der sam.ldb Dateien temporär. Standardmäßig verwendet Samba das TDB Datenbankformat als Backend, welches auf 4GB beschränkt ist. Vor dem UCS Update wird geprüft, ob eine der fünf TDB-Dateien schon nahe oder über der halben maximalen Kapazität ist. Falls das der Fall ist, wird das Update blockiert, um zu vermeiden, dass nach dem Update die Services für Windows nicht funktionsfähig sind und ein Link zu einem Migrationsleitfaden wird angezeigt.

Unterstützung für die SMB1 Protokollversion wurde deaktiviert, weil sie heutigen Sicherheitsanforderungen nicht genügt.

Unterstützung für DES Verschlüsselung von Kerberos-Schlüsseln wurde entfernt.

§2.6. Hinweise zu Default-Master-Paketen

Apps wie UCC und Open-Xchange haben in der Vergangenheit spezielle Pakete für den Primary Directory Node und Backup Directory Node installiert um den LDAP-Server um Schemata und ACL-Regeln zu erweitern. Diese Pakete werden nicht mehr benötigt, die Erweiterungen werden jetzt per Univention Directory Listener verteilt. Die Pakete sollten vor dem Upgrade entfernt werden um Inkompatibilitäten mit Python 3 zu vermeiden. Bekannte inkompatible Pakete sind: univention-corporate-client-schema, univention-ox-dependencies-master und univention-ox-directory-integration. Als Vorbereitung für das Upgrade wird das System auf inkompatible Pakete geprüft werden, siehe auch Kapitel 6.

§2.7. Hinweise zu Anmeldeinformationen, die an Join-Skripte übergeben werden

Join-Skripte werden jetzt immer mit der sicheren Option --bindpwdfile ausgeführt, anstatt die Anmeldedaten direkt als Kommandozeilenoption zu übergeben.

§Kapitel 3. Gleichzeitiger Betrieb von UCS und Debian auf UEFI Systemen

Beginnend mit UCS 5.0-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

§Kapitel 4. Lokales Repository

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.

  • Ein neues UCS 5 System wird als Primary Directory Node von der DVD oder aus einem virtualisiertem Basisimage installiert. Anschließend wird auf diesem System ein lokales Repository wie im UCS 5 Handbuch beschrieben eingerichtet.

  • Ein neues UCS 5 System wird als Systemrolle Backup Directory Node, Replica Directory Node oder Managed Node von der DVD oder aus einem virtualisiertem Basisimage installiert. Im System-Setup ist auszuwählen, dass das System keiner Domäne beitritt. Anschließend wird auf diesem System ein lokales Repository wie im UCS 5 Handbuch beschrieben eingerichtet. Nachdem der in der Domäne verwendet Primary Directory Node auf UCS 5 aktualisiert wurde, kann der UCS 5 Repository Server der Domäne über 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.

§Kapitel 5. Portal

Design und Funktionalität des Portals in UCS 5 wurden grundlegend überarbeitet, gegebenenfalls sind nach dem Update auf UCS 5 Anpassungen an der Portalkonfiguration vorzunehmen.

  • Standardmäßig wird beim Login am Portal kein Single Sign-On verwendet. Details zur Konfiguration von Single Sign-On sind im Handbuch beschrieben.

  • Das von einem Server verwendete bzw. angezeigte Portal wird unter UCS 5 durch die Univention Configuration Registry-Variable portal/default-dn bestimmt. Nach einer Änderung muss der Dienst univention-portal-server neu gestartet werden.

  • Ein für das UCS 4 Portal angepasstes Design mittels CSS muss für das UCS 5 Portal überarbeitet werden.

  • Die Verwaltung der Portalinhalte wird über neue Univention Directory Manager Module durchgeführt, die unter UCS 4 vorhandenen Einstellungen werden übernommen.

§Kapitel 6. Vorbereitung des Updates

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-0{.gpg,}

# verify and run script
apt-key verify pre-update-checks-5.0-0{.gpg,} &&
  bash pre-update-checks-5.0-0

...

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
...

§Kapitel 7. Nachbereitung des Updates

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 Domänenbeitritt oder durch Aufruf des Befehls univention-run-join-scripts als Benutzer root.

Anschließend muss das UCS-System neu gestartet werden.

§Kapitel 8. Hinweise zum Einsatz einzelner Pakete

§8.1. Netzwerkkonfiguration

Die Unterstützung für ifplugd wurde entfernt.

§8.2. Erfassung von Nutzungsstatistiken

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 Lizenz -> Lizenzinformation des Benutzermenüs in der rechten, oberen Ecke von Univention Management Console. Steht hier unter Lizenztyp der Eintrag UCS Core Edition 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.

§8.3. Empfohlene Browser für den Zugriff auf Univention Management Console

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.

§Kapitel 9. Changelog

Die Changelogs mit den detaillierten Änderungsinformationen werden nur in Englisch gepflegt. Aufgeführt sind die Änderungen seit UCS 4.4-8:

§9.1. General

  • The Python module directories of python-support are not supported anymore (Bug 51506)
  • The upgrade to UCS 5.0 is blocked if there are systems in the domain which don't have at least UCS 4.4-8 (Bug 51621)
  • Systems can only join into the domain with at least UCS 4.4-8 (Bug 51625). If the Primary Directory Node was installed as UCS 5.0, certain database objects are no longer created; thus, joining UCS 4.4-8 systems may result in these systems not having a proper portal until they upgrade to UCS 5.0 (Bug 53091)
  • The legacy terms for the UCS server roles master domain controller, backup domain controller, slave domain controller and member server have been replaced by the new terms Primary Directory Node , Backup Directory Node Replica Directory Node and Managed Node, which more clearly convey their inherent purpose as providing directory services or not. The Microsoft terms domain controller, DC and member server are still applicable in case Microsoft compatible services are provided by Samba on the respective Node (Bug 42374). To reduce potential for confusion, the IP managed client has been renamed to IP client.
  • The base system is no longer a valid system role. It is not possible to choose that role in system setup or update a base system to UCS 5. The corresponding meta package univention-basesystem has been removed (Bug 52137)
  • Process supervision by univention-runit has been replaced with systemd (Bug 52448)
  • The selection on locales has been fixed in univention-directory-reports, univention-appcenter, univention-system-setup and univention-management-console (Bug 52194)
  • The command lastlog can now be called by any user. It shows the timestamp when users have logged on to the local machine. This command reads the information from the file /var/log/lastlog. Before UCS 5.0 this file was only readable by user root. Debian and systemd have this file world readable be default. UCS decided to follow this upstream policy, because a list of all users is accessible via getent passwd anyway (Bug 51579)
  • The join scripts for univention-s4-connector and univention-appcenter now start ucs_registerLDAPExtension with the options --ucsversionstart and --ucsversionstop to signal compatibility with Python 3 (Bug 51763)
  • Installed unsupported packages will now block the upgrade until they are removed from the system (Bug 52957)

§9.2. Univention Installer

  • The package univention-net-installer has been migrated to Python 3 (Bug 52283)

§9.3. Basic system services

§9.3.1. Linux kernel and firmware packages

  • The new command univention-prune-kernels can be used to remove Linux kernel packages, which are no longer used and required (Bug 51769)

§9.3.2. Univention Configuration Registry

  • A new API has been introduced to simplify accessing UCR from Python. It is based on the singleton pattern and optionally provides an auto-updating view (Bug 51126)
  • Documentation for the Univention Configuration Registry variable interfaces/.*/hosts has been added (Bug 33743)
  • univention-install-config-registry calls univention-install-config-registry-info and univention-install-service-info during package build time. It now propagates failures and aborts if calling those programs fails (Bug 32658)
  • The API for UCR Python modules is not consistent: The function handler receives the same arguments for both module registration and on regular updates (Bug 30127)
  • Default values for Univention Configuration Registry variables can now be defined in the files .univention-config-registry-variables (Bug 38938)
  • The performance of ucr shell has been improved (Bug 31257)
  • To simplify software development Univention Configuration Registry now provides the sequence ucr to be used with dh --with ucr in debian/rules instead of calling univention-install-* directly (Bug 51950)
  • All univention-config-registry related scripts have been migrated to Python 3 (Bug 52018, Bug 52157)
  • The API of univention.config_registry.interfaces is now using the ipaddress module instead of the ipaddr module (Bug 52017)
  • The detection of children process IDs in univention.service_info has been fixed (Bug 51524)
  • The old name univention-baseconf has been removed (Bug 52016)
  • The different layers of UCR are now taken into account when deciding if and how to run UCR trigger mechanisms: They will only get a list of changed values honoring the different layers (Bug 52847)

§9.3.2.1. Changes to templates and modules

  • Several updates to configuration files from Debian 10 have been merged into the corresponding Univention Configuration Registry template files (Bug 51505)

§9.3.3. Boot Loader

  • The boot process has been adjusted to the new design. It is possible to switch between a dark theme (default) by setting ucr set bootsplash/theme='ucs' and a light theme by setting ucr set bootsplash/theme='ucs-light' (Bug 52797, Bug 52798, Bug 52454)

§9.3.4. Other system services

  • Join scripts are not executed with the unsafe option --bindpwd anymore (Bug 31996)
  • The return code of univention-run-join-scripts indicates errors now (Bug 35561)
  • Join scripts are only executed if the host is already joined (Bug 48730)
  • The new package univention-join-dev provides the Debhelper sequence univention-join. It can be used in debian/rules files with dh --with univention-join to simplify the installation, registration and calling of join scripts. It replaces univention-install-joinscript from the package univention-debhelper, which will be removed with UCS 5.1 (Bug 52211)
  • To prevent problems with UCS components that are only partly updated at the time join scripts are executed, the execution of join scripts is from now on postponed until the end of the update process (post update phase). This change has been implemented with UCS 4.4-6 already but becomes active now (Bug 51624)
  • AppArmor is deactivated by default, because cups and bind9 with samba are not configured for it yet (Bug 51786)
  • The Admin Diary has been migrated to Python 3 (Bug 51334)
  • Since squid version 4.6 the authentication helper basic_ldap_auth returns BH Success instead of ERR Success in case of LDAP bind errors. The encoding wrapper has been adjusted accordingly (Bug 51817)

§9.4. Domain services

  • Support for ifplugd has been removed (Bug 32847)

§9.4.1. OpenLDAP

  • OpenLDAP has been updated to version 2.4.47 (Bug 51312)
  • The container cn=admin-settings,cn=users,cn=policies is no longer created (Bug 47949)
  • The scripts in univention-ldap have been migrated to Python 3 (Bug 52280)

§9.4.1.1. LDAP ACL changes

  • The container cn=admin-settings,cn=univention is no longer created (Bug 31048)

§9.4.1.2. LDAP schema changes

  • The performance of creating /etc/ldap/slapd.conf has been improved (Bug 34003)

§9.4.1.3. LDAP index changes

  • The LDAP attributes aAAARecord, mXRecord, cNAMERecord, sRVRecord, tXTRecord and nSRecord now get indexed to improve the performance of presence searches in the UDM module dns/txt_record (Bug 53192)

§9.4.1.4. Listener/Notifier domain replication

  • The last remainders for replog replication have been removed (Bug 42334)
  • Adjustments in the use of python-ldap have been made (Bug 51268)
  • The process supervision for the Univention Directory Listener and Univention Directory Notifier services has been changed from runit to systemd. Any direct calls to the init script or runsv, for example /etc/init.d/univention-directory-listener start or sv start univention-directory-listener, need to be replaced with systemctl, for example systemctl start univention-directory-listener (Bug 43686, Bug 43687)
  • The Listener has been migrated to Python 3. All listener modules are now executed with Python 3.7 (Bug 52256, Bug 45888)
  • A new API for switching the effective user ID in Listener modules has been added. The new listener.SetUID() can be used as a Python context manager and function decorator. The old API using listener.setuid() and listener.unsettuid() is deprecated and should no longer be used (Bug 52447)
  • The package univention-directory-replication has been migrated to Python 3 (Bug 52300)

§9.4.2. DNS server

  • The package univention-bind now makes sure, that the name server BIND is able to start early in the system-setup phase of UCS installation, so the DNS service is available during install/configuration of UCS components (Bug 44462)
  • The package univention-bind has been migrated to Python 3 (Bug 52260)
  • UCS systems are able to automatically use name servers that are transmitted to the UCS system via DHCP. Starting with UCS 5.0 the mechanism has been simplified considerably. UCS systems that obtain their IP address via DHCP now also enter the name servers supplied via DHCP in the Univention Configuration Registry variables nameserver1..3 and dns/forwarder1..3. The name server type (external forwarder vs. domain name server) is detected based on heuristics. This change prevents overwriting of the DNS configuration if the UCR template for the file /etc/resolv.conf is reevaluated (Bug 44462)
  • Univention Configuration Registry variable dns/master/port has been removed (Bug 32188)
  • Trailing semicolons from several Univention Configuration Registry variables dns/* are now stripped by default to prevent syntax errors (Bug 32188)
  • A syntax error has been fixed which prevented the bind service to start during the system setup (Bug 53064)

§9.5. Univention Management Console

§9.5.1. Univention Management Console web interface

  • Univention Management Console now comes with a new design (Bug 52453, Bug 52538)
  • The cookie UMCLang is now correctly saved when accessing Univention Management Console with a language in the query string (Bug 44718)
  • The debhelper scripts for Univention Management Console modules now preserve timestamps when installing files (Bug 49618)
  • The exit code of univention-management-console-command has been improved (Bug 34642)
  • The welcome dialog shown after the first installation has been removed (Bug 53226) in favor of a dedicated welcome module univention-management-console-module-welcome (Bug 53147)
  • Dojo has been upgraded to Version 1.16.3 (Bug 48963)
  • Am error message is not logged any more when a local users login into Univention Management Console (Bug 46932)

§9.5.2. Univention Portal

  • The creation of the portal entry for the Univention Blog has been fixed when installing from DVD (Bug 45787)
  • The portal is now modularized and can be generously configured (Bug 52512, Bug 52125, Bug 51197)
  • The portal server can now serve multiple paths (Univention Configuration Registry variable portal/paths). Consequently, different portal content can be served for different paths (Bug 52792)
  • Links can now be localized, i.e. the tiles point to different URLs depending on the user's locale (Bug 45918)
  • Only one portal setup is created by default. All UCS systems initially show the same portal (Bug 53091)
  • The portal can now be configured to show UMC modules for the current user. A portal only dedicated to UMC modules is also added, effectively replacing the UMC overview (although that still exists) (Bug 52932)
  • New Icons for the UMC modules on the portal page has been added (Bug 52941)

§9.5.3. Univention Management Console server

§9.5.4. Univention App Center

  • The App Center has been migrated to Python 3 (Bug 51598)
  • The App Center can now install multiple Apps at once. It also resolves dependencies between Apps automatically during install (Bug 40225, Bug 52863)
  • Apps can now define in which way they want to be opened in the new Univention Portal (Bug 53161)

§9.5.5. Univention Directory Manager UMC modules and command line interface

  • The Univention Directory Manager has been migrated to Python 3 (Bug 50648, Bug 51631, Bug 50617, Bug 51685)
  • The modules for handling Mobile clients, Fat Clients, Thin Clients, Univention Corporate Clients and their policies and settings have been removed (Bug 51973)
  • The unused script lock_expired_passwords has been removed (Bug 46350)
  • No traceback is logged anymore when creating objects with --ignore_exists when the objects already exists (Bug 46931)
  • UDM handlers now raise an exception univention.admin.uexceptions.wrongObjectType when an object is opened with a wrong type (Bug 45096)
  • Old references to TCP in the univention-cli-server have been removed (Bug 34836)
  • If an error occurs during object creation in the post-create phase the object is now removed correctly (Bug 51669)
  • The apache configuration for the Univention Directory Manager REST API has been adjusted for the new apache version (Bug 51604)
  • The Univention Directory Manager UMC module has been migrated to Python 3 (Bug 51329)
  • The Univention Directory Manager CLI command modify now supports the option --ignore_not_exists (Bug 52984)
  • The --remove option for the Univention Directory Manager CLI command modify has been repaired for properties with complex syntax (Bug 41072)

§9.5.6. Modules for system settings / setup wizard

  • The unused script ldap_available.sh has been removed (Bug 33008, Bug 51683)
  • The directories for hook scripts have been restored (Bug 33029)

§9.5.7. Software update module

  • The Easy upgrade mode has been removed (Bug 40154)
  • The Updater module now links directly to the pending erratum updates (Bug 41646)
  • The preup.sh script executed before a system upgrade now fetches the version of the Primary Directory Node from LDAP instead of using ssh (Bug 40027)
  • The service univention-maintenance now waits for the DNS service before starting the package maintenance during boot-up (Bug 45119)
  • The deprecated command univention-add-app has been removed in favor of the command univention-app (Bug 46474)
  • Architecture i386 is no longer supported and cannot be updated to UCS 5 (Bug 51972)
  • univention-remove no longer updates the package cache before packages are removed (Bug 48019)
  • UCS 4 package sources will be disabled for the upgrade. A backup can be found under /etc/apt/sources.list.d/ with the suffix .upgrade500-backup. The backup will be removed after a successful upgrade (Bug 52954)
  • The at daemon service is configured not to kill any child processes when the service is stopped, which is needed for the upgrade to UCS 5 (Bug 52886)

§9.5.8. Domain join module

  • The Univention Management Console module univention-management-console-module-join has been migrated to Python 3 (Bug 51330)
  • The scripts have been improved for robustness and security (Bug 31026)

§9.5.9. Univention Directory Reports

  • univention-directory-reports is now using Python 3 (Bug 51569)

§9.5.10. Computers module

  • Removing one of multiple DNS PTR records from a computer has been fixed (Bug 53213)
  • Creating a new DHCP enabled computer entry without an IP address did create an invalid dhcp/host entry (Bug 53204)

§9.5.11. DHCP module

  • The process supervision for the DHCP services has been changed from runit to systemd. The service has been renamed from univention-dhcp to isc-dhcp-server as used by upstream. Any direct calls to the init script or runsv must to be replaced with systemctl, for example systemctl start isc-dhcp-server (Bug 43688, Bug 52828)
  • Hook scripts in /etc/dhcp/dhclient-enter-hooks.d/ and /etc/dhcp/dhclient-exit-hooks.d/ returning an error no longer abort the dhclient-scipt. If the old behavior is required a hook script can use exit as the scripts are sourced and not executed in sub-shells (Bug 53172)
  • Fix the day of week in leases when fallback to link-local addresses is enabled (Bug 44427)
  • Remove remaining references to deprecated DHCP version 3 (Bug 32462)
  • Registering of IP addresses received via DHCP are now registered in the LDAP via the HTTP interface of Univention Management Console (Bug 42128)

§9.5.12. System diagnostic module

  • The module has been migrated to Python 3. All plugins are now executed with Python 3 (Bug 51332)
  • The diagnostic module 22_kdc_service has been updated to work with pyasn1 version 0.4 (Bug 51507)

§9.5.13. Process overview module

  • The process overview module now uses Python 3 (Bug 51323)

§9.5.14. Policies

  • Fix error in output of univention_policy_result --help (Bug 35182)

§9.5.15. Printers module

  • The code for handling univentionPrinterUseClientDriver has been removed from the Univention Directory Listener module (Bug 32870)

§9.5.16. Filesystem quota module

  • The listener module quota.py has been migrated to Python 3 (Bug 52310)

§9.5.17. Univention Configuration Registry module

  • The Univention Management Console module univention-management-console-module-ucr has been migrated to Python 3 (Bug 51322)

§9.5.18. Other modules

  • The unused module for configuring the firewall has been removed (Bug 44700)
  • The old system statistics based on MRTG has been removed (Bug 44475)
  • The Univention Management Console module univention-management-console-module-services has been migrated to Python 3 (Bug 51333)
  • The Univention Management Console module univention-management-console-module-ipchange has been migrated to Python 3 (Bug 51331)

§9.5.19. Development of modules for Univention Management Console

  • To simplify software development Univention Management Console now provides the sequence umc to be used with dh --with umc in debian/rules instead of calling dh-umc-modulel-* directly (Bug 51949)

§9.6. Univention Updater

  • The old dists/ repository layout, which was used between UCS 2.X and 4.x, is no longer supported. Instead the new pool/-layout uses package index files below dists/, which reference files from pool/ (Bug 51316, Bug 51588)
  • Due to the changed repository layout the deprecated Univention Configuration Registry variables repository/online/component/4.*-*-errata are purged after the update (Bug 47192)
  • Starting with UCS 5.0 the UCS repository is no longer divided into the 2 sections maintained and unmaintained. Instead, all packages are kept in one section and the maintenance status of the packages is technically defined in a different way. Therefore, the Univention Configuration Registry variable repository/online/unmaintained is no longer in use as of UCS 5.0. However, the Univention Configuration Registry variable for components (repository/online/component/$comp/unmaintained) are still in use (Bug 51316). To check if unmaintained packages are installed, the command univention-list-installed-unmaintained-packages can be executed (Bug 52715)
  • Up to UCS 4.4, the Univention Updater automatically detected for component repositories whether the required package files were stored within the architecture directories (i386/, amd64/, all/) or in the directory level above (flat repository). Starting with UCS 5.0, the new Univention Configuration Registry variable repository/online/component/$comp/layout must be used to define whether a flat repository (value flat) is to be used. If the variable is not set, the other possible value arch is assumed, where the packages files are searched in the architecture directories (Bug 51316)
  • The semantics of the Univention Configuration Registry variable repository/online/component/$comp/version has changed. The values current and an unset variable now have the same meaning: The component directory is always included and must exists; an update is blocked if it does not and APT resp. Univention Updater will error out if it does not.

    As an alternative a fixed list of $major.$minor releases can be used to include the component only for a sub-set of releases: such a component is only used locally if the listed component versions include the current version, e.g. a 5.0 5.1 5.2 component will not be used on a 5.3 system.

    As a consequence the packages (or at least the Packages) files have to be copied for a new release if (and only if) the component should also be available for the new release. This is cheap if the pool/-layout is used as then only the Packages file must be copied, which then references the same packages from the pool/ directory (Hint: using relative links with ../ is also okay) (Bug 51316)

  • During the update to UCS 5.0, objects from deprecated UCS versions are deleted from the LDAP directory. Information about deleted objects and the objects LDIF output can be found in the logfile /var/univention-backup/update-to-5.0-0/removed_with_ucs5_timestamp.ldif (Bug 51655)

§9.7. Univention base libraries

  • Documentation for the Univention Configuration Registry variables groups/default/* and users/default/* has been added (Bug 33693)
  • The implementations of UCS_Version in univention-updater has been merged into the implementation in univention-lib (Bug 32821)
  • The scripts in univention-lib are now using Python 3 (Bug 51628, Bug 51429, Bug 52155)
  • The matching of locales in univention.lib.i18n has been corrected (Bug 51633)
  • The logging of error messages from slapdtest in univention.lib.ldap_extension has been improved (Bug 51648)
  • The function lookup_adds_dc in univention.lib.admember now runs dig with the option +nocookie to avoid FORMERR from Windows DCs (Bug 51652)
  • UDM extensions can now be registered in different versions for different UCS versions to prepare for the UCS 5 update (Bug 51619, Bug 51622)
  • UDM and LDAP extensions are now correctly removed or created when the UCS version changes (Bug 51531)
  • The univention.fstab library has been merged into univention.lib.fstab (Bug 27825)
  • The univention-python library has been migrated to Python 3. Various modules have been removed (Bug 52063)
  • ucs_registerLDAPExtension now waits correctly for the registered Univention Directory Manager extension files to be replicated (Bug 52942)

§9.8. Software monitor

  • A package dependency cycle has been fixed (Bug 42287)

§9.9. System services

§9.9.1. MariaDB

  • The package univention-mysql has been removed in favor of MariaDB (Bug 51979)

§9.9.2. Docker

  • docker has been updated to version 19.03; docker-compose has been updated to version 1.25 (Bug 52838)

§9.9.3. SAML

  • All scripts of univention-saml have been migrated to Python 3 (Bug 51315)
  • The package crudesaml was updated to version 1.9 (Bug 51489)

§9.9.4. Mail services

  • The fetchmail service will be disabled via the Univention Configuration Registry variable fetchmail/autostart for the time of the update to prevent restart issues during the update (Bug 52923)
  • The ACL handling of user names and group names containing spaces has been fixed for shared folders (Bug 53111)
  • An internal change to the listener module for shared mail folders (dovecot-shared-folder.py) has been made to prevent problems with mixed upper and lowercase domain names (Bug 52241)
  • Error messages during initial installation of univention-mail-postfix are now prevented by reordering of the internal installation steps (Bug 52842)
  • Starting with UCS 5.0 the package univention-mail-postfix is now mandatory installed on every UCS system. The sole installation of the virtual package mail-transport-agent is no longer sufficient (Bug 52807)
  • No longer needed Univention Configuration Registry variable mail/dovecot/auth/allowplaintext was dropped from the package univention-mail-dovecot because of Dovecot no longer allowing to login with plain text passwords while using TLS/SSL (Bug 52724)
  • The package univention-fetchmail has been migrated to Python 3 (Bug 52282)
  • The package univention-mail-postfix has been migrated to Python 3 (Bug 52255)
  • The package univention-mail-dovecot has been migrated to Python 3 (Bug 52254)

§9.9.5. Printing services

  • The package univention-check-printers for checking USB printers has been removed (Bug 52123)
  • The package univention-printclient has been migrated to Python 3 (Bug 52423)
  • Support for the printer quota system PyKota has been removed as the important is no longer maintained upstream (Bug 51482)

§9.9.6. Nagios

  • The package univention-nagios-server has been removed (Bug 52122)

§9.9.7. RADIUS

  • The package univention-radius has been migrated to Python 3 (Bug 52286)

§9.9.8. Kerberos

  • Heimdal is now compiled with python3-univention-lib (Bug 52249)
  • The package univention-heimdal has been migrated to Python 3 (Bug 52257)

§9.9.9. SSL

  • OpenSSL has been updated to version 1.1.1d. This raises the minimal required TLS protocol version to TLS 1.2.
  • The package univention-ssl has been migrated to Python 3 (Bug 52281)

§9.9.10. Celery services

  • The package univention-celery has been removed (Bug 51486)

§9.9.11. DHCP server

  • The Python code has been converted to Python 3 (Bug 52259)

§9.9.12. PAM / Local group cache

  • Fix LDAP filter syntax in Univention Directory Listener module faillog.py (Bug 28645)
  • Several potential buffer overruns have been fixed in pam-univentionmailcyrus (Bug 51981)
  • The package univention-skel has been removed. Newly created $HOME directories can now be provisioned using the standard directory /etc/skel/. Customers relying on files under /etc/univention/skel/ should migrate the files to the new location (Bug 43211)
  • The packages univention-passwd-cache and univention-passwd-store have been removed (Bug 52056)
  • The package univention-pam has been migrated to Python 3 (Bug 52250)

§9.9.13. NFS

  • The package univention-nfs has been migrated to Python 3 (Bug 52269)

§9.9.14. Bacula and Backup

  • The component package univention-bacula has been removed in favor of the different backup Apps available from Univention App Center (Bug 46588)
  • The package univention-remote-backup has been removed (Bug 52120)

§9.9.15. Other services

  • The packages univention-snmp and univention-snmpd have been removed (Bug 52121)
  • The package univention-directory-logger has been migrated to Python 3 (Bug 52301)
  • The package univention-server-overview has been migrated to Python 3 (Bug 51328)

§9.10. Virtualization

  • All packages related to running virtual machines on UCS have been removed (Bug 51982)
  • In case the libvirt-daemon is still installed, the services libvirtd.service resp. virtlogd.service are stopped and masked prior to the update to UCS 5.0. After the update, both services are set to the old state (enabled, disabled, masked) (Bug 52974)

§9.11. Services for Windows

§9.11.1. Samba

  • Samba has been updated to version 4.13.7 (Bug 49898). It also includes the patch for the security issue CVE-2021-20254 (Bug 53069). Some highlights, quoting upstream release notes:

    • Extensive efforts have been made to optimized Samba for use in organizations (for example) targeting 100,000 users, plus 120,000 computer objects, as well as large number of group memberships. Many of the specific efforts are detailed below, but the net results is to remove barriers to significantly larger Samba deployments compared to previous releases.
    • The LDAP server has improved memory efficiency, ensuring that large LDAP responses (for example a search for all objects) is not copied multiple times into memory.
    • Search performance on large LDB databases has been improved by reducing memory allocations made on each object.
    • Samba uses a new index format allowing Samba to efficiently select objects changed since the last replication cycle, using LDAP search filter relations <= and >=. This in turn improves performance during replication of large domains.
    • Please note that the default backend key value store TDB, used by Samba/AD for its sam.ldb database, is size limited. This should be considered when designing or growing a domain into larger dimensions. Since this is a limit of the backend key value store, it doesn't directly translate into a fixed limit for LDAP objects, as it depends on the number of attributes, if the attributes are indexed and other factors like these. The size limit of TDB is due to its 32-bit data model. This may impact update scenarios in particular, where Samba/AD re-keys and re-indexes the data transparently on the first startup. Since this happens in a single transaction, the storage requirement doubles temporarily. To avoid issues, UCS checks the current size of the SAM backend databases before updating and will abort with a warning if the update may run in danger to render Samba/AD into a non-functional state. Workarounds for this are conceivable, but the exact details depend on the topology of the specific UCS domain. In particular, Samba/AD offers an alternative implementation for the key value store, which is based on the same LMDB database technology that backs the high consistency and performance demands of OpenLDAP.
    • To improve performance during batch operations i.e. joins, LDB now accepts a batch_mode option. However to prevent any index or database inconsistencies if an operation fails, the entire transaction will be aborted at commit.
    • Default AD schema for new installations changed from 2008_R2 to 2012_R2. 2012_R2 functional level is not yet available.

    Some notable changes:

    • SMB1 is disabled by default. The default for the smb.conf parameters server min protocol and server min protocol has been increased from NT1 to SMB2_02. This means clients without support for SMB2 or SMB3 are no longer able to connect to smbd (by default). It also means client tools like smbclient and other are no longer able to connect to servers without SMB2 or SMB3 support (by default). As Microsoft no longer installs SMB1 support in recent releases or un-installs it after 30 days without usage, the Samba Team tries to get remove the SMB1 usage as much as possible. SMB1 is officially deprecated and might be removed step by step in the following years.
    • The default for the --model argument passed to the samba executable has changed from standard to prefork. This means a difference in the number of samba child processes that are created to handle client connections. The previous default would create a separate process for every LDAP or NETLOGON client connection. For a network with a lot of persistent client connections, this could result in significant memory overhead. Now, with the new default of prefork, the LDAP, NETLOGON, and KDC services will create a fixed number of worker processes at startup and share the client connections amongst these workers. The number of worker processes can be configured by the prefork children setting in the smb.conf (the default is 4). Currently this is not yet configurable via Univention Configuration Registry variable, but can be adjusted via /etc/samba/local.conf. If this becomes a popular request, adding the configuration option via Univention Configuration Registry variable may be useful in the future.
    • Samba 4.11 has changed how the AD database is stored on disk. Samba/AD users should not really be affected by this change when upgrading from 4.10. The database will automatically get rewritten in the new 4.11 format when you first start the upgraded samba executable. However, when downgrading from 4.11 you will need to manually downgrade the AD database yourself. When either upgrading or downgrading, users should also avoid making any database modifications between installing the new Samba packages and starting the samba executable.
    • Since the Samba 4.12 release, support for DES encryption types has been removed, and setting DES_ONLY flag for an account will cause Kerberos authentication to fail for that account (see RFC 6649). DES keys no longer saved in the AD DB. When a new password is set for an account, Samba DCs will store random keys in DB instead of DES keys derived from the password.
    • The smb.conf parameter encrypt passwords is deprecated (Default: yes). The Univention Configuration Registry variable samba/encrypt_passwords has been obsoleted by this.
    • The default for the smb.conf parameter mangled names has changed from yes to illegal.
    • The smb.conf parameter blocking locks is deprecated and the samba-shares.py listener module doesn't write it into share configurations any longer.

    For more information see also:

    Warnung

    Please avoid to set server schannel = no and server schannel = auto on all Samba domain controllers due to the well-known ZeroLogon issue. For details see CVE-2020-1472.

    Warnung

    Please consult UCS documentation sources before attempting to change settings from the UCS defaults, which are not (yet) accessible via Univention Configuration Registry variables. Only settings described in the UCS manual are officially supported.

  • Samba/AD now evaluates Active Directory ACLs for LDAP searches by default. Technically this was done by changing the default for the Univention Configuration Registry variable samba/acl_search to yes (Bug 51522)
  • The package cifs-utils is now installed by default (Bug 39259)
  • The scripts in univention-samba and univention-samba4 are now running with Python 3 (Bug 52045)
  • univention-samba has been adjusted to properly restart samba during package updates in case smbd was running (Bug 47367)
  • The package univention-samba-slave-pdc has been removed (Bug 52943)
  • The package univention-samba4wins has been removed (Bug 51497)
  • The package univention-samba4 now installs /usr/share/univention-samba4/scripts/migrate_legacy_dns_zones.sh (Bug 53093)

§9.11.2. Univention AD Takeover

  • AD-Takeover now runs with Python 3 (Bug 51324)

§9.11.3. Univention S4 Connector

  • The univention-s4-connector is now running with Python 3 (Bug 52043)
  • The listener module s4-connector has been adjusted to avoid repeated restarts of the univention-s4-connector in quick succession during module initialization (Bug 52681)
  • The name of the Univention Configuration Registry variable connector/s4/mapping/sid/sid_to_ucs has been fixed in the registration to match the name connector/s4/mapping/sid_to_ucs which is actually set and used (Bug 53023)

§9.11.4. Univention Active Directory Connection

  • The univention-ad-connector is now running with Python 3 (Bug 52044). The logfile /var/log/univention/connector.log has been renamed to /var/log/univention/connector-ad.log. The script univention-connector-list-rejected has been renamed to univention-adconnector-list-rejected. The mapping has been migrated from a Univention Configuration Registry template into a Python file (/etc/univention/connector/ad/mapping.py).
  • The obsolete dependency on pysqlite2 has been removed (Bug 51484)
  • The Univention Management Console module now runs with Python 3 (Bug 51336)
  • The admember code now runs with Python 2 as well as with Python 3 (Bug 51324)

§9.12. Other changes

  • All links to forum.univention.de have been updated to point to https://help.univention.com/ now (Bug 43926)
  • The package univention-java has been removed (Bug 51983)
  • The desktop package univention-kde has been removed (Bug 51977)
  • The package univention-ftp has been removed (Bug 51980)
  • univention-debhelper now propagates failures and aborts if calling programs fail (Bug 50100)
  • The package dansguardian has been removed (Bug 51483)
  • The package univention-debootstrap has been removed(Bug 52124)
  • The package univention-ucs-translation-template has been renamed to univention-l10n. To simplify software development it now provides the sequence univention-l10n to be used with dh --with univention-l10n in debian/rules instead of calling univention-l10n-* directly (Bug 51656)
  • All deprecated univention.debug.function() calls have been removed from the code (Bug 51200)

§Literaturverzeichnis

§

[ucs-performance-guide] Univention GmbH. 2022. UCS performance guide. https://docs.software-univention.de/performance-guide-5.0.html.

§

[developer-reference] Univention GmbH. 2022. Univention Developer Reference. https://docs.software-univention.de/developer-reference-5.0.html.