Nach 6 Monaten Entwicklung wird die Samba-Version 4.25.0 veröffentlicht, die die Entwicklung des Samba 4-Zweigs fortsetzt. Sie bietet eine voll funktionsfĂ€hige Implementierung eines DomĂ€nencontrollers und eines Active Directory-Dienstes, der mit der Windows Server-Implementierung kompatibel ist und alle unterstĂŒtzten Microsoft-Versionen von Windows-Clients bedienen kann, einschlieĂlich Windows 11. Samba 4 ist ein multifunktionales Serverprodukt, das auch eine Implementierung von Dateiservern, Druckdiensten und IdentitĂ€tsservern (Winbind) bereitstellt. Der Code des Projekts ist in der Programmiersprache C geschrieben und unter der GPLv3-Lizenz verfĂŒgbar.
Wichtige Ănderungen in Samba 4.25:
- Die Implementierung des SMB3-Protokolls hat experimentelle UnterstĂŒtzung fĂŒr persistente Dateihandles (SMB2_CAP_PERSISTENT_HANDLES) erhalten, die es Clients ermöglichen, mit geöffneten Dateien weiterzuarbeiten, nachdem die Netzwerkverbindung unterbrochen wurde, oder nach einem Neustart. Server oder beim Lastenausgleich auf einen Backup-Server. Persistente Handles ermöglichen es, ohne erneutes Ăffnen von Dateien nach einem Serverausfall auszukommen, was besonders relevant ist, wenn man mit Fileservern arbeitet. Server Samba von virtuellen Maschinen und Cluster-Datenbanken.
FĂŒr den Betrieb ist es notwendig, exklusiven Zugriff auf den SMB-Speicher bereitzustellen und die Einstellungen âkernel oplocksâ, âkernel share modesâ und âposix lockingâ zu deaktivieren, was die KompatibilitĂ€t mit POSIX und NFS beeintrĂ€chtigt und die Leistung aufgrund der synchronen Aufzeichnung von Metadaten auf die Festplatte bei jeder Operation erheblich verringert. Es wurden zwei Modi zur Sicherstellung der Ausfallsicherheit vorgeschlagen: full_outage (Standard) â eine lokale Sicherung des Zustands wird erstellt, die es ermöglicht, Handles selbst nach einem vollstĂ€ndigen Ausfall des Clusters beizubehalten, wobei die Last erhöht wird; partial_outage â schnellere AusfĂŒhrung ohne Sicherung, aber Handles gehen verloren, wenn alle Knoten des Clusters gleichzeitig ausfallen.
- Das VFS-Modul vfs_aio_ratelimit wurde hinzugefĂŒgt, das eine Begrenzung der AnfragenintensitĂ€t (Rate Limit) festlegen kann, die im Kontext des gesamten Clusters gilt und nicht nur an einzelne Knoten gebunden ist. Um die globale Anwendung der BeschrĂ€nkungen auf jedem Knoten zu koordinieren, muss ein Hintergrundprozess ratelimitd ausgefĂŒhrt werden, der die AktivitĂ€ten aller smbd-Prozesse auf dem Knoten aggregiert und Informationen an andere Knoten des Clusters ĂŒbertrĂ€gt. Die Aktivierung von vfs_aio_ratelimit erfolgt wĂ€hrend des Builds durch Angabe der Option â--with-ratelimitdâ.
- Das VFS-Modul vfs_ceph_rgw fĂŒr Ceph RGW (Object Gateway) wurde hinzugefĂŒgt, um Daten aus dem Ceph Object Gateway als SMB-Speicher zu exportieren, mit einer hierarchischen Darstellung der gespeicherten Objekte in Form von regulĂ€ren Dateien und Verzeichnissen, die den Zugriff auf POSIX uid/gid-Ebene ermöglichen.
- FunktionalitĂ€tsstufen des Clusters wurden implementiert, die an die Stufen der Domain unterscheiden, gesetzt werden. und WĂ€lder in Active Directory erinnern und ein schrittweises Update der Knoten im Cluster (rolling upgrade) ermöglichen. Die Datenbankformate und internen Nachrichtenformate, die die Interaktion zwischen den Knoten betreffen, Ă€ndern sich nur nach einer ausdrĂŒcklichen Erhöhung des Levels fĂŒr den gesamten Cluster, was die KompatibilitĂ€t der Knoten mit verschiedenen Samba-Versionen wĂ€hrend des Updates gewĂ€hrleistet. Die Verwaltung erfolgt ĂŒber die Befehle ânet clusterlevel features|show|showall|upgradeâ.
- FĂŒr die VerschlĂŒsselung im DomĂ€ne sind standardmĂ€Ăig die Algorithmen aes128-cts-hmac-sha1-96 und aes256-cts-hmac-sha1-96 fĂŒr DomĂ€nen mit einer FunktionalitĂ€tsstufe von 2008 und höher aktiv. Die Ănderung blockiert die Ausnutzung der Schwachstelle CVE-2026-20833, die durch die Verwendung unsicherer VerschlĂŒsselungsmethoden in Windows Kerberos verursacht wurde.
- In CTDB wurden die Dateien mit Sperren, PID und Sockets in die Unterverzeichnisse ctdb/ verschoben. Das Initialisierungsskript ctdb.init wurde in ctdb/doc/examples verschoben. UnterstĂŒtzung fĂŒr das Monitoring von Hosts, wie DNS-Server, wurde hinzugefĂŒgt. Die Funktion detect_init_style() und die Variable CTDB_INIT_STYLE wurden als veraltet erklĂ€rt (stattdessen wird die Verwendung von CTDB_PLATFORM_STYLE empfohlen).
Quelle: opennet.ru
