versjon , som fortsatte utviklingen av grenen med fullverdig implementering av domenekontroller og Active Directory-tjeneste, kompatibel med implementeringen av Windows 2000 og i stand til Ä betjene alle stÞttede Microsoft-versjoner av Windows-klienter, inkludert Windows 10. Samba 4 er et multifunksjonelt serverprodukt som ogsÄ gir implementering av filserver, utskriftstjeneste og identifikasjonsserver (winbind).
NĂžkkelfunksjoner i Samba 4.12:
- Innebygde implementeringer av kryptografiske funksjoner er fjernet fra kodebasen til fordel for bruk av eksterne biblioteker. GnuTLS er valgt som hoved kryptobibliotek (krever minst versjon 3.4.7). I tillegg til Ä redusere mulige trusler knyttet til identifisering av sÄrbarheter i innebygde implementeringer av kryptoalgoritmer, har overgangen til GnuTLS ogsÄ fÞrt til en betydelig Þkning i ytelsen ved bruk av kryptering i SMB3. Ved testing med CIFS-klienten fra Linux 5.3 ble det registrert en energibehov pÄ opptil tre ganger raskere skriving og 2,5 ganger raskere lesing.
- En ny backend for sÞk pÄ SMB-deler med bruk av protokoll , basert pÄ sÞkemotoren (tidligere ble backend levert med ). Det er ogsÄ lagt til et verktÞy kalt «mdfind» med implementeringen av en klient som tillater sending av sÞkespÞrsmÄl til enhver SMB-server som kjÞrer RPC-tjenesten Spotlight. Standardverdien for innstillingen «spotlight backend» er endret til «noindex» (for Tracker eller Elasticsearch mÄ verdiene «tracker» eller «elasticsearch» settes eksplisitt).
- Atferden til operasjonene ânet ads kerberos pac saveâ og ânet eventlog exportâ er endret, slik at de ikke lenger overskriver filen, men i tilfelle eksport til en eksisterende fil, gir en feil.
- I samba-tool er det forbedret Ă„ legge til kontaktoppfĂžringer for gruppe medlemmer. Tidligere kunne man bare legge til brukere, grupper og maskiner som nye medlemmer av grupper ved hjelp av kommandoen âsamba-tool group addmemersâ, men nĂ„ er det stĂžtte for Ă„ legge til kontakter som medlemmer av grupper.
- I samba-tool er filtrering etter organisatoriske enheter (OU, Organizational Unit) eller undertrĂŠr tillatt. Nye flagg ââbase-dnâ og ââmember-base-dnâ er lagt til, noe som gjĂžr det mulig Ă„ utfĂžre operasjonen kun med en bestemt del av Active Directory-treet, for eksempel bare innenfor Ă©n organisatorisk enhet OU.
- En ny VFS-modul âio_uringâ er lagt til, som bruker det nye grensesnittet til Linux-kjernen. for asynchronous input/output. Io_uring supports input/output polling and can work with buffering (the previously proposed 'aio' mechanism did not support buffered input/output). When polling is enabled, io_uring significantly outperforms aio in terms of performance. Currently, Samba has implemented support for SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV based on io_uring, reducing the overhead of maintaining the thread pool in user space when using the default VFS backend. The compilation of the VFS module 'io_uring' requires the presence of the library and Linux kernel 5.1+.
- In VFS, a special UTIME_OMIT time value can be specified to denote the need to ignore time in the SMB_VFS_NTIMES() function.
- Support for the 'write cache size' parameter has been discontinued in smb.conf, as it became irrelevant after the implementation of io_uring support.
- In Samba-DC and Kerberos, support for encryption using the DES algorithm has been removed. The weak-crypto code has been removed from Heimdal-DC.
- The vfs_netatalk module has been removed, as it was no longer maintained and had become obsolete.
- The BIND9_FLATFILE backend has been declared deprecated and will be removed in one of the upcoming releases.
- The zlib library has been added to the build dependencies. The built-in zlib implementation has been removed from the codebase (the code was based on an old version of zlib where encryption support did not work properly).
- Fuzzing testing of the codebase has been established, including the service
oss-fuzz. During fuzzing testing, many bugs have been identified and fixed. - The minimum Python version requirement has been raised from Python
3.4 to Python 3.5. The ability to build the file server with Python 2 is still retained (before running './configure' and 'make', the environment variable 'PYTHON=python2' should be set).
Kilde: opennet.ru
