Выпуск 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-Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° 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’).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru