Выпуск Samba 4.12.0
4 марта 2020 года
Представлен релиз 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').
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.