Выпуск ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для синхронизации Ρ„Π°ΠΉΠ»ΠΎΠ² Rsync 3.2.4

ПослС ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ доступСн Ρ€Π΅Π»ΠΈΠ· Rsync 3.2.4, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для синхронизации Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π·Π° счёт ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ копирования ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’ качСствС транспорта ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ssh, rsh ΠΈΠ»ΠΈ собствСнный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» rsync. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ организация Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… rsync-сСрвСров, ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ подходящих для обСспСчСния синхронизации Π·Π΅Ρ€ΠΊΠ°Π». Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3.

Π‘Ρ€Π΅Π΄ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, которая Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ «—protect-args» («-s»), Π½ΠΎ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ скрипта rrsync (restricted rsync). Π—Π°Ρ‰ΠΈΡ‚Π° сводится ΠΊ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ спСцсимволов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ запросов Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ. Новый ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ экранируСт спСцсимволы Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°ΠΌΠ»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ Π±Π»ΠΎΠΊΠ°, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ экранирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ допустима ΠΊΠΎΠΌΠ°Π½Π΄Π° «rsync -aiv host:’a simple file.pdf’ .» Для возвращСния старого повСдСния ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° опция «—old-args» ΠΈ пСрСмСнная окруТСния «RSYNC_OLD_ARGS=1».
  • РСшСна давняя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ символов дСсятичной запятой с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ («,» вмСсто «.»). Для скриптов, рассчитанных Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ символа «.» Π² числах, Π² случаС Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ совмСстимости ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ локаль «Π‘».
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2018-25032) Π²ΠΎ входящСм Π² состав ΠΊΠΎΠ΄Π΅ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ zlib, приводящая ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ сТатия ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция «—fsync» Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fsync() ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠΌ для сброса дискового кэша.
  • Π’ скриптС rsync-ssl задСйствована опция «-verify_hostname» ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ openssl.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—copy-devices» для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² устройств ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
  • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΡ€ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ большого числа ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².
  • На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ macOS обСспСчСна Ρ€Π°Π±ΠΎΡ‚Π° ΠΎΠΏΡ†ΠΈΠΈ «—atimes».
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обновлСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² xattrs для Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ полномочия Π½Π° смСну ΠΏΡ€Π°Π² доступа (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ запускС с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «—info=NONREG» для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ rrsync (restricted rsync) пСрСписан Π½Π° языкС Python. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ «-munge», «-no-lock» ΠΈ «-no-del». По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ «—copy-links» (-L), «—copy-dirlinks» (-k) ΠΈ «—keep-dirlinks» (-K) для услоТнСния ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊ, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… символичСскими ссылками Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ.
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ atomic-rsync пСрСписан Π½Π° языкС Python ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ игнорирования Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ игнорируСтся ΠΊΠΎΠ΄ 24, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ rsync (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄ 24 возвращаСтся для Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ присутствовали Π²ΠΎ врСмя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ индСксации, Π½ΠΎ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ пСрСноса).
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ munge-symlinks пСрСписан Π½Π° языкС Python.

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