Выпуск Samba 4

Представлен релиз 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-разделах с использованием протокола Spotlight, основанный на поисковом движке 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’).

 

Доступны новые версии СУБД Postgres Pro
Вебинар TrueConf Server 4.5 — новая отечественная система ВКС и совместной работы