Inhaltsverzeichnis
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.
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 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.
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.
In UCS 5 wurden mehrere Integrationspakete entfernt.
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.
K Desktop Environment (KDE)
wurde entfernt.
Die von Debian bereitgestellten Pakete sind weiterhin verfügbar.
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.
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.
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.
Join-Skripte werden jetzt immer mit der sicheren Option --bindpwdfile
ausgeführt, anstatt die Anmeldedaten direkt als Kommandozeilenoption zu übergeben.
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
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.
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.
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 ...
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.
Die Unterstützung für ifplugd wurde entfernt.
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 4.4-8:
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)
univention-s4-connector
and univention-appcenter
now start ucs_registerLDAPExtension
with the options --ucsversionstart
and --ucsversionstop
to signal compatibility with Python 3 (Bug 51763)
univention-prune-kernels
can be used to remove Linux kernel packages, which are no longer used and required (Bug 51769)
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)
handler
receives the same arguments for both module registration and on regular updates (Bug 30127)
.univention-config-registry-variables
(Bug 38938)
ucr shell
has been improved (Bug 31257)
ucr
to be used with dh --with ucr
in debian/rules
instead of calling univention-install-*
directly (Bug 51950)
univention.config_registry.interfaces
is now using the ipaddress module instead of the ipaddr module (Bug 52017)
univention.service_info
has been fixed (Bug 51524)
univention-baseconf
has been removed (Bug 52016)
--bindpwd
anymore (Bug 31996)
univention-run-join-scripts
indicates errors now (Bug 35561)
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)
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)
cn=admin-settings,cn=univention
is no longer created (Bug 31048)
/etc/ldap/slapd.conf
has been improved (Bug 34003)
dns/txt_record
(Bug 53192)
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)
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)
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)
dns/master/port
has been removed (Bug 32188)
dns/*
are now stripped by default to prevent syntax errors (Bug 32188)
bind
service to start during the system setup (Bug 53064)
portal/paths
).
Consequently, different portal content can be served for different paths (Bug 52792)
lock_expired_passwords
has been removed (Bug 46350)
--ignore_exists
when the objects already exists (Bug 46931)
univention.admin.uexceptions.wrongObjectType
when an object is opened with a wrong type (Bug 45096)
univention-cli-server
have been removed (Bug 34836)
modify
now supports the option --ignore_not_exists
(Bug 52984)
--remove
option for the Univention Directory Manager CLI command modify
has been repaired for properties with complex syntax (Bug 41072)
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)
univention-maintenance
now waits for the DNS service before starting the package maintenance during boot-up (Bug 45119)
univention-add-app
has been removed in favor of the command univention-app
(Bug 46474)
univention-remove
no longer updates the package cache before packages are removed (Bug 48019)
/etc/apt/sources.list.d/
with the suffix .upgrade500-backup
.
The backup will be removed after a successful upgrade (Bug 52954)
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)
/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)
quota.py
has been migrated to Python 3 (Bug 52310)
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)
repository/online/component/4.*-*-errata
are purged after the update (Bug 47192)
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)
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/
has changed.
The values $comp
/versioncurrent
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
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 $major
.$minor
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)
/var/univention-backup/update-to-5.0-0/removed_with_ucs5_timestamp
.ldif
(Bug 51655)
groups/default/*
and users/default/*
has been added (Bug 33693)
UCS_Version
in univention-updater has been merged into the implementation in univention-lib (Bug 32821)
slapdtest
in univention.lib.ldap_extension has been improved (Bug 51648)
lookup_adds_dc
in univention.lib.admember now runs dig
with the option +nocookie to avoid FORMERR from Windows DCs (Bug 51652)
ucs_registerLDAPExtension
now waits correctly for the registered Univention Directory Manager extension files to be replicated (Bug 52942)
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)
dovecot-shared-folder.py
) has been made to prevent problems with mixed upper and lowercase domain names (Bug 52241)
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)
faillog.py
(Bug 28645)
$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)
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)
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:
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.
batch_mode
option.
However to prevent any index or database inconsistencies if an operation fails, the entire transaction will be aborted at commit.
2008_R2
to 2012_R2
.
2012_R2
functional level is not yet available.
Some notable changes:
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.
--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.
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.
smb.conf
parameter encrypt passwords
is deprecated (Default: yes
).
The Univention Configuration Registry variable samba/encrypt_passwords
has been obsoleted by this.
smb.conf
parameter mangled names
has changed from yes
to illegal
.
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:
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.
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/acl_search
to yes (Bug 51522)
/usr/share/univention-samba4/scripts/migrate_legacy_dns_zones.sh
(Bug 53093)
s4-connector
has been adjusted to avoid repeated restarts of the univention-s4-connector in quick succession during module initialization (Bug 52681)
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)
/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
).
pysqlite2
has been removed (Bug 51484)
admember
code now runs with Python 2 as well as with Python 3 (Bug 51324)
forum.univention.de
have been updated to point to https://help.univention.com/ now (Bug 43926)
univention-l10n
to be used with dh --with univention-l10n
in debian/rules
instead of calling univention-l10n-*
directly (Bug 51656)
univention.debug.function()
calls have been removed from the code (Bug 51200)
[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.