Release , die die Entwicklung des Zweigs fortsetzt mit einer voll funktionsfĂ€higen Implementierung des DomĂ€nencontrollers und des Active Directory-Dienstes, der mit der Implementierung von Windows 2000 kompatibel ist und alle unterstĂŒtzten Microsoft-Versionen von Windows-Clients, einschlieĂlich Windows 10, bedienen kann. Samba 4 ist ein multifunktionales Serverprodukt, das auch die Implementierung eines Dateiservers, eines Druckdienstes und eines Identifizierungsservers (winbind) bereitstellt.
Hauptmerkmale In Samba 4.12:
- Die eingebetteten Implementierungen der kryptografischen Funktionen wurden aus dem Code entfernt zugunsten der Nutzung externer Bibliotheken. Als Hauptkryptobibliothek wurde entschieden, GnuTLS zu verwenden (mindestens Version 3.4.7 erforderlich). Neben der Verringerung möglicher Bedrohungen durch die Entdeckung von Schwachstellen in den eingebetteten Implementierungen von kryptografischen Algorithmen hat der Ăbergang zu GnuTLS auch zu einer erheblichen Leistungssteigerung beim Einsatz von VerschlĂŒsselung in SMB3 gefĂŒhrt. Bei Tests mit der CIFS-Client-Implementierung aus dem Linux-Kernel 5.3 wurde eine Steigerung der Schreibgeschwindigkeit um das Dreifache und der Lesegeschwindigkeit um das 2,5-Fache festgestellt.
- Ein neues Backend fĂŒr die Suche auf SMB-Volumes unter Verwendung des Protokolls , basierend auf der Suchmaschine (frĂŒher gab es ein Backend auf Basis von ). Zudem wurde das Dienstprogramm âmdfindâ mit einer Client-Implementierung hinzugefĂŒgt, das es ermöglicht, Suchanfragen an jeden SMB-Server zu senden, auf dem der RPC-Dienst Spotlight lĂ€uft. Der Standardwert der Einstellung âspotlight backendâ wurde auf ânoindexâ geĂ€ndert (fĂŒr Tracker oder Elasticsearch sollten die Werte âtrackerâ oder âelasticsearchâ ausdrĂŒcklich festgelegt werden).
- Das Verhalten der Operationen 'net ads kerberos pac save' und 'net eventlog export' wurde geĂ€ndert, sodass sie nun die Datei nicht ĂŒberschreiben, sondern im Falle des Versuchs, in eine existierende Datei zu exportieren, einen Fehler ausgeben.
- Im samba-tool wurde das HinzufĂŒgen von Kontaktposten fĂŒr Gruppenmitglieder verbessert. WĂ€hrend man frĂŒher mit dem Befehl 'samba-tool group addmemers' einfach Benutzer, Gruppen und Computer als neue Mitglieder von Gruppen hinzufĂŒgen konnte, gibt es jetzt die UnterstĂŒtzung fĂŒr das HinzufĂŒgen von Kontakten als Mitglieder von Gruppen.
- Im samba-tool wurde die Filterung nach organisatorischen Einheiten (OU, Organizational Unit) oder UnterbĂ€umen ermöglicht. Neue Flags ââbase-dnâ und ââmember-base-dnâ wurden hinzugefĂŒgt, die die AusfĂŒhrung der Operation nur mit einem bestimmten Teilbaum des Active Directory ermöglichen, beispielsweise nur innerhalb einer organisatorischen Einheit (OU).
- Ein neues VFS-Modul 'io_uring' wurde hinzugefĂŒgt, das die neue Schnittstelle des Linux-Kernels nutzt. fĂŒr asynchrone Ein-/Ausgabe. Io_uring unterstĂŒtzt das Polling von Ein-/Ausgabe und kann mit Pufferung arbeiten (das zuvor angebotene âaioâ-Mechanismus unterstĂŒtzte keine gepufferte Ein-/Ausgabe). Bei aktiviertem Polling ĂŒbertrifft io_uring die Leistung von aio erheblich. Derzeit wird in Samba auf Basis von io_uring die UnterstĂŒtzung von SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV implementiert, und die Overheadkosten zur Aufrechterhaltung des Thread-Pools im Benutzermodus wurden reduziert, wenn der standardmĂ€Ăig angebotene VFS-Backend verwendet wird. FĂŒr den VFS-Modul âio_uringâ ist die Bibliothek erforderlich und der Linux-Kernel 5.1+.
- Im VFS wurde die Möglichkeit eingefĂŒhrt, einen speziellen Zeitwert UTIME_OMIT anzugeben, um die Notwendigkeit zu kennzeichnen, die Zeit in der Funktion SMB_VFS_NTIMES() zu ignorieren.
- In der smb.conf wurde die UnterstĂŒtzung fĂŒr den Parameter âwrite cache sizeâ eingestellt, der nach der EinfĂŒhrung der UnterstĂŒtzung fĂŒr io_uring obsolet wurde.
- In Samba-DC und Kerberos wurde die UnterstĂŒtzung fĂŒr die VerschlĂŒsselung mit dem DES-Algorithmus eingestellt. Im Heimdal-DC wurde der Code weak-crypto entfernt.
- Das Modul vfs_netatalk wurde entfernt, da es nicht mehr gepflegt wird und an Relevanz verloren hat.
- Das Backend BIND9_FLATFILE wurde als veraltet erklÀrt und wird in einer der nÀchsten Versionen entfernt.
- Die zlib-Bibliothek wurde in die Build-AbhĂ€ngigkeiten aufgenommen. Die integrierte zlib-Implementierung wurde aus dem Code entfernt (der Code basierte auf einer alten Version von zlib, in der die UnterstĂŒtzung fĂŒr VerschlĂŒsselung nicht einwandfrei funktionierte).
- Das Fuzzing-Testing der Codebasis wurde eingerichtet, einschlieĂlich des Dienstes
oss-fuzz. WĂ€hrend des Fuzzing-Tests wurden viele Fehler identifiziert und behoben. - Die Anforderungen an die Mindestversion von Python wurden von Python
3.4 auf Python 3.5 erhöht. Die Möglichkeit, einen Dateiserver mit Python 2 zu erstellen, bleibt vorerst bestehen (vor dem AusfĂŒhren von ./configure und 'make' sollte die Umgebungsvariable 'PYTHON=python2' gesetzt werden).
Quelle: opennet.ru
