Nakon 6 mjeseci razvoja, predstavljen je izdanak Samba 4.25.0, koji je nastavio s razvojem grane Samba 4 s potpunom implementacijom kontrolera domena i Active Directory servisa, kompatibilnog s implementacijom Windows Server i sposoban opsluživati sve podržane Microsoft verzije Windows klijenata, uključujući Windows 11. Samba 4 je funkcionalni serverski proizvod koji također pruža implementaciju datotečnog servera, usluge ispisa i servera za identifikaciju (winbind). Kod projekta napisan je na jeziku C i distribuira se pod GPLv3 licencom.
Ključne promjene u Samba 4.25:
- U implementaciju SMB3 protokola dodana je eksperimentalna podrška za trajne datotečne deskriptore (SMB2_CAP_PERSISTENT_HANDLES), koja omogućava klijentima nastavak rada s otvorenim datotekama nakon prekida mrežne veze, ponovnog pokretanja poslužitelja ili prebacivanja opterećenja na rezervni server. Trajni deskriptori omogućavaju izbjegavanje ponovnog otvaranja datoteka nakon kvara servera, što je posebno važno prilikom hostinga serveru Samba virtualnih strojeva i klasterskih BDP-a.
Za rad je potrebno osigurati ekskluzivan pristup SMB pohrani i onemogućiti postavke "kernel oplocks", "kernel share modes" i "posix locking", što narušava kompatibilnost s POSIX-om i NFS-om, kao i značajno smanjuje performanse zbog sinkroniziranog zapisivanja metapodataka na disk pri svakoj operaciji. Predložena su dva načina osiguravanja otpornosti na kvarove: full_outage (zadano) — stvara se lokalna sigurnosna kopija stanja koja omogućava očuvanje deskriptora čak i nakon potpunog kvara klastera, ali povećava opterećenje; partial_outage — brža obrada bez sigurnosne kopije, ali se deskriptori gube ako svi čvorovi klastera istovremeno otkažu.
- Dodan je VFS modul vfs_aio_ratelimit, koji omogućava postavljanje ograničenja intenziteta zahtjeva (rate limit) koje djeluje u kontekstu cijelog klastera, a ne samo u vezi s pojedinačnim čvorovima. Za koordinaciju globalne primjene ograničenja na svakom čvoru mora biti pokrenut pozadinski proces ratelimitd, koji agregira aktivnost svih smbd procesa na čvoru i prenosi informacije na druge čvorove klastera. Uključivanje vfs_aio_ratelimit postiže se tijekom izgradnje putem opcije "--with-ratelimitd".
- Dodana je VFS-modul vfs_ceph_rgw za Ceph RGW (Object Gateway), koji omogućuje izvoz podataka iz Ceph Object Gateway-a kao SMB pohranu s hijerarhijskim prikazom pohranjenih objekata u obliku običnih datoteka i mapa s odvojenim pristupom na razini POSIX uid/gid.
- Implementirane su razine funkcionalnosti klastera, koje podsjećaju na razine domenu i šuma u Active Directory, omogućujući postepeno ažuriranje čvorova u klasteru (rolling upgrade). Formati baza podataka i unutrašnji formati razmjene poruka, koji utječu na interakciju čvorova, mijenjaju se samo nakon eksplicitnog podizanja razine za cijeli klaster, čime se jamči kompatibilnost čvorova s različitim verzijama Sambe tijekom ažuriranja. Upravljanje se vrši putem naredbi „net clusterlevel features|show|showall|upgrade”.
- Za šifriranje u domenu po defaultu korišteni su algoritmi aes128-cts-hmac-sha1-96 i aes256-cts-hmac-sha1-96 za domene s razinom funkcionalnosti 2008 i višom. Promjena blokira manifestaciju ranjivosti CVE-2026-20833, uzrokovane korištenjem nepouzdanih metoda šifriranja u Windows Kerberosu.
- U CTDB, datoteke s zaključavanjima, PID-ima i socketima premještene su u poddirektorije ctdb/. Inicijalizacijski skript ctdb.init premješten je u ctdb/doc/examples. Dodana je podrška za praćenje hostova, poput DNS-servera. Funkcija detect_init_style() i varijabla CTDB_INIT_STYLE su označene kao zastarjele (umjesto njih preporučuje se korištenje CTDB_PLATFORM_STYLE).
Izvor: opennet.ru
