Samba 4.14.0

Теги

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS.

Начиная с четвёртой версии, разработка Samba, которая велась почти 10 лет, может выступать в роли контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000, и способна обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 10. Работает на большинстве Unix-подобных систем, таких как Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD; в OS/2 портирован SMB-клиент, являющийся плагином к виртуальной файловой системе NetDrive. Включена практически во все дистрибутивы Linux. 

Основные изменения в новой версии программы:

  • Проведена значительная модернизация слоя VFS. По историческим причинам код с реализацией файлового сервера был завязан на обработку файловых путей, которая применялась в том числе для протокола SMB2, переведённого на использование дескрипторов. В SMB 4.14.0 код, обеспечивающий доступ к файловой системе сервера, был переработан для использование файловых дескрипторов, а не файловых путей. Например, задействован вызов fstat() вместо stat() и SMB_VFS_FSTAT() вместо SMB_VFS_STAT().
  • Повышена надёжность публикации принтеров в Active Directory и расширена информация о принтерах, передаваемая в Active Directory. Добавлена поддержка Windows-драйверов принтеров на системах ARM64.
  • Предоставлена возможность использования групповых политик (Group Policy) для клиентов Winbind. Администратор Active Directory теперь может определить политики, меняющие настройки sudoers или добавляющие периодический запуск заданий через cron. Для включения применения групповых политик для клиента в smb.conf предусмотрена настройка 'apply group policies'. Применение политик производится каждые 90-120 минут. В случае проблем имеется возможность отменить изменения командой "samba-gpupdate --unapply" или применить повторно командой "samba-gpupdate --force". Для просмотра политик, которые будут применены к системе, можно использовать команду "samba-gpupdate --rsop".
  • Повышены требования к версии языка Python. Для сборки SMB теперь обязательно наличие Python как минимум версии 3.6. Поддержка сборки с более старыми выпусками Python прекращена.
  • В утилите samba-tool реализованы средства для управления объектами в Active Directory (пользователями, компьютерами, группами). Для добавления нового объекта в AD теперь разрешено использовать команду "add", помимо "create". Для переименования пользователей, групп и контактов обеспечена поддержка команды "rename". Для разблокировки пользователей предложена команда 'samba-tool user unlock'. В командах 'samba-tool user list' и 'samba-tool group listmembers' реализованы опции "--hide-expired" и "--hide-disabled" для скрытия просроченных или отключённых учётных записей пользователей.
  • В компоненте CTDB, отвечающем за работу кластерных конфигураций, проведена чистка неполиткорректных терминов. Вместо master и slave при настройке NAT и LVS предложено использовать "leader" для ссылки на основной узел в группе и "follower" для охвата остальных членов группы. Команда "ctdb natgw master" заменена на "ctdb natgw leader". Для индикации, что узел не является ведущим, вместо "slave-only" теперь выводится флаг "follower-only". Удалена команда "ctdb isnotrecmaster".

Дополнительно дано разъяснение о границах применения лицензии GPL, под которой распространяется код Samba, к компонентам VFS (Virtual File System). Лицензия GPL требует открытия с теми же условиями всех производных работ. В SMB имеется интерфейс для подключения плагинов, позволяющий вызывать внешний код. Одними из таких плагинов являются VFS-модули, в которых используются единые с SMB заголовочные файлы с определением API, через который осуществляется обращение к сервиcам, реализуемым в Samba, из-за чего VFS-модули Samba должны распространяться под GPL или совместимой лицензией. 


Особенностью следует считать то, что SMB работает только поверх TCP/IP, тогда как аналогичный сервис в Windows может предоставляться также поверх IPX и NetBEUI.