Выпуск Samba 4.12.0

Прадстаўлены рэліз Samba 4.12.0, які працягнуў развіццё галінкі Samba 4 з паўнавартаснай рэалізацыяй кантролера дамена і сэрвісу Active Directory, сумяшчальнага з рэалізацыяй Windows 2000 і здольнага абслугоўваць усе падтрымліваемыя Microsoft версіі Windows-кліентаў, у тым ліку Windows 10. Samba 4 з'яўляецца шматфункцыянальным серверным прадуктам, якія прадстаўляюць таксама рэалізацыю файлавага сервера, сэрвісу друку і сервера ідэнтыфікацыі (winbind).

ключавыя змены у Samba 4.12:

  • З кодавай базы выдалены ўбудаваныя рэалізацыі крыптаграфічных функцый у карысць выкарыстання вонкавых бібліятэк. У якасці асноўнай крыптаббібліятэкі вырашана выкарыстоўваць GnuTLS (патрабуецца як мінімум версія 3.4.7). Акрамя зніжэння магчымых пагроз, звязаных з выяўленнем уразлівасцяў ва ўбудаваных рэалізацыях крыптаалгарытмаў, пераход на GnuTLS таксама дазволіў дамагчыся істотнага падвышэння прадукцыйнасці пры выкарыстанні шыфравання ў SMB3. Пры тэставанні з рэалізацыяй кліента CIFS з ядра Linux 5.3 зафіксавана павышэнне хуткасці запісу ў 3 разы, а чытанні ў 2.5 разы.
  • Дададзены новы бэкэнд для пошуку на SMB-раздзелах з выкарыстаннем пратакола. Пражэктар, заснаваны на пошукавым рухавічку Elasticsearch (раней прадастаўляўся бэкенд на базе GNOME Tracker). У склад таксама дададзена ўтыліта "mdfind" з рэалізацыяй кліента, які дазваляе адпраўляць пошукавыя запыты да любога SMB-серверу, на якім запушчаны RPC-сэрвіс Spotlight. Значэнне налады spotlight backend па змаўчанні зменена на noindex (для Tracker або Elasticsearch варта відавочна выставіць значэнні tracker або elasticsearch).
  • Змененыя паводзіны аперацый 'net ads kerberos pac save' і 'net eventlog export', якія зараз не перазапісваюць файл, а ў выпадку спробы экспарту ў існуючы файл выводзяць памылку.
  • У samba-tool палепшана даданне кантактных запісаў для чальцоў груп. Калі раней, пры дапамозе каманды 'samba-tool group addmemers' можна было проста дадаць карыстачоў, групы і кампутары ў якасці новых чальцоў груп, то зараз з'явілася падтрымка дадання кантактаў як чальцоў груп.
  • У samba-tool дазволена фільтраванне па арганізацыйных падраздзяленнях (OU, Organizational Unit) або поддереву. Дададзеныя новыя сцягі "-base-dn" і "-member-base-dn", якія даюць магчымасць выканаць аперацыю толькі з пэўнай часткай дрэва Active Directory, напрыклад, толькі ў рамках аднаго падраздзялення OU.
  • Дададзены новы VFS-модуль 'io_uring', які выкарыстоўвае новы інтэрфейс ядра Linux io_uring для асінхроннага ўводу/высновы. Io_uring падтрымлівае полінг уводу/высновы і можа працаваць з буферызацыяй (раней прапанаваны механізм "aio" не падтрымліваў буферызаваны ўвод/выснову). Пры працы з уключаным полінгам па прадукцыйнасці io_uring істотна апярэджвае aio. У наш час на базе io_uring у Samba рэалізаваная падтрымка SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV і зніжаны накладныя выдаткі на падтрыманне пула шматструменнага выканання (threadpool) у прасторы карыстача пры ўжыванні прапанаванага па змаўчанні бэкенда VFS. Для зборкі VFS-модуля 'io_uring' патрабуецца наяўнасць бібліятэкі liburing і ядры Linux 5.1+.
  • У VFS забяспечана магчымасць указання спецыяльнага значэння часу UTIME_OMIT для пазнакі неабходнасці ігнаравання часу ў функцыі SMB_VFS_NTIMES().
  • B smb.conf спынена падтрымка параметра "write cache size", які страціў сэнс пасля з'яўлення падтрымкі io_uring.
  • У Samba-DC і Kerberos спынена падтрымка шыфравання з выкарыстаннем алгарытму DES. У Heimdal-DC выдалены код weak-crypto.
  • Выдалены модуль vfs_netatalk, які застаўся без суправаджэння і страціў актуальнасць.
  • Абвешчаны састарэлым бэкэнд BIND9_FLATFILE, які будзе выдалены ў адным з наступных выпускаў.
  • Бібліятэка zlib уключана ў лік зборачных залежнасцяў. Убудаваная рэалізацыя zlib выдаленая з кодавай базы (код быў заснаваны на старой версіі zlib, у якой звычайна не працавала падтрымка шыфравання).
  • Наладжана fuzzing-тэставанне кодавай базы, у тым ліку ў сэрвісе
    oss-fuzz. Падчас fuzzing-тэставанні выяўлена і выпраўлена мноства памылак.

  • Патрабаванні да мінімальнай версіі Python павышаны з Python
    3.4 да Python 3.5. Магчымасць зборкі файлавага сервера з Python 2 пакуль захавана (перад запускам ./configure' і 'make' варта ўсталяваць зменную асяроддзі 'PYTHON=python2').

Крыніца: opennet.ru

Дадаць каментар