Nakon 6 meseci razvoja, predstavljen je izdanak Samba 4.25.0, koji nastavlja razvoj grane Samba 4 s punom implementacijom kontrolera domena i servisa Active Directory, kompatibilnog s Windows Server implementacijom i sposobnog da podrži sve verzije Windows klijenata koje podržava Microsoft, uključujući Windows 11. Samba 4 je višefunkcionalni serverski proizvod koji takođe nudi implementaciju datotečnog servera, uslugu štampe i server za identifikaciju (winbind). Kod projekta je napisan na jeziku C i distribuiše se pod GPLv3 licencom.
Ključne promene u Samba 4.25:
- U implementaciju protokola SMB3 dodata je eksperimentalna podrška za trajne datotečne deskriptore (SMB2_CAP_PERSISTENT_HANDLES), koji omogućavaju klijentima da nastave rad sa otvorenim datotekama nakon prekida mrežne veze, ponovnog pokretanja strežnika ili prebacivanja opterećenja na rezervni server. Trajni deskriptori omogućavaju da se izbegne ponovo otvaranje datoteka nakon kvara servera, što je posebno važno kod hostovanja datotečnih strežnikom Samba virtuelnih mašina i klasterskih Baza podataka.
Za rad je potrebno obezbediti ekskluzivni pristup SMB skladištu i onemogućiti podešavanja „kernel oplocks“, „kernel share modes“ i „posix locking“, što krši kompatibilnost s POSIX i NFS, a takođe značajno smanjuje performanse zbog sinhronog zapisivanja metapodataka na disk pri svakoj operaciji. Predložena su dva režima obezbeđivanja otpornosti na kvarove: full_outage (po defaultu) — kreira se lokalna rezervna kopija stanja koja omogućava očuvanje deskriptora čak i nakon potpunog kvara klastera, ali povećava opterećenje; partial_outage — brži rad bez rezervne kopije, ali se deskriptori gube ako svi čvorovi klastera istovremeno otkažu.
- Dodad VFS modul vfs_aio_ratelimit, koji omogućava postavljanje ograničenja intenziteta zahteva (rate limit) koje važi u kontekstu celog klastera, a ne samo u vezi sa pojedinačnim čvorovima. Za koordinaciju globalnih primena ograničenja, na svakom čvoru mora biti pokrenut pozadinski proces ratelimitd, koji agregira aktivnost svih smbd procesa na čvoru i prenosi informacije drugim čvorovima klastera. Aktiviranje vfs_aio_ratelimit vrši se u fazi kompilacije putem navođenja opcije „—with-ratelimitd“.
- Dodana je VFS-modul vfs_ceph_rgw za Ceph RGW (Object Gateway), ki omogoča izvoz podatkov iz Ceph Object Gateway kot SMB-shranjevanje s hierarhično predstavitvijo shranjenih predmetov v obliki običajnih datotek in map ter z razdelitvijo dostopa na ravni POSIX uid/gid.
- Uvedeni so nivoji funkcionalnosti klasterja, podobni nivojem domene in gozdov v Active Directory, ki omogočajo postopno posodabljanje vozlišč v klasterju (rolling upgrade). Oblike DB in notranje oblike sporočil, ki vplivajo na interakcijo vozlišč, se spreminjajo le po izrecnem dvigu ravni za celoten klaster, kar zagotavlja združljivost vozlišč z različnimi različicami Samba med posodobitvijo. Upravlja se preko ukazov „net clusterlevel features|show|showall|upgrade“.
- Za šifriranje v domenu se privzeto uporabljata algoritma aes128-cts-hmac-sha1-96 in aes256-cts-hmac-sha1-96 za domene z nivojem funkcionalnosti 2008 in višjim. Sprememba preprečuje pojav ranljivosti CVE-2026-20833, ki je posledica uporabe nezanesljivih metod šifriranja v Windows Kerberos.
- V CTDB so bile datoteke s zaklepanji, PID-ji in socketi premaknjene v podimenike ctdb/. Inicializacijski skript ctdb.init je bil premaknjen v ctdb/doc/examples. Dodana je podpora za spremljanje gostiteljev, kot so DNS-strežniki. Funkcija detect_init_style() in spremenljivka CTDB_INIT_STYLE sta označeni za zastarelo (namesto njiju se priporoča uporaba CTDB_PLATFORM_STYLE).
Izvor: opennet.ru
