Wydanie narzędzia do synchronizacji plików Rsync 3.2.4

Po półtora roku prac dostępna jest wersja Rsync 3.2.4 – narzędzia do synchronizacji plików i tworzenia kopii zapasowych, które pozwala zminimalizować ruch poprzez przyrostowe kopiowanie zmian. Transportem może być ssh, rsh lub zastrzeżony protokół rsync. Obsługuje organizację anonimowych serwerów rsync, które optymalnie nadają się do zapewnienia synchronizacji serwerów lustrzanych. Kod projektu jest rozpowszechniany na licencji GPLv3.

Wśród dodanych zmian:

  • Zaproponowano nową metodę ochrony argumentów linii poleceń, która przypomina dostępną wcześniej opcję „--protect-args” („-s”), ale nie przerywa działania skryptu rsync (ograniczony rsync). Ochrona sprowadza się do ucieczki znaków specjalnych, w tym spacji, podczas wysyłania żądań do zewnętrznego interpretera poleceń. Nowa metoda nie powoduje ucieczki znaków specjalnych w cudzysłowie, co pozwala na użycie prostych cudzysłowów wokół nazwy pliku bez dodatkowej ucieczki, na przykład dozwolone jest teraz polecenie „rsync -aiv host:'prosty plik.pdf' .” Aby przywrócić stare zachowanie, zaproponowano opcję „--old-args” i zmienną środowiskową „RSYNC_OLD_ARGS=1”.
  • Rozwiązano długotrwały problem z obsługą znaków dziesiętnych w oparciu o bieżące ustawienia regionalne („”,” zamiast „.”). W przypadku skryptów zaprojektowanych do przetwarzania tylko „.” w liczbach, w przypadku naruszenia zgodności, możesz ustawić ustawienia regionalne na „C”.
  • Naprawiono lukę (CVE-2018-25032) w dołączonym kodzie z biblioteki zlib, która powoduje przepełnienie bufora przy próbie skompresowania specjalnie przygotowanej sekwencji znaków.
  • Zaimplementowano opcję „--fsync”, aby wywołać funkcję fsync() przy każdej operacji na pliku w celu opróżnienia pamięci podręcznej dysku.
  • Skrypt rsync-ssl używa opcji „-verify_hostname” podczas uzyskiwania dostępu do openssl.
  • Dodano opcję „--copy-devices”, aby skopiować pliki urządzenia jako zwykłe pliki.
  • Zmniejszone zużycie pamięci podczas przyrostowego przesyłania dużej liczby małych katalogów.
  • Na platformie macOS działa opcja „-atimes”.
  • Zaimplementowano możliwość aktualizacji atrybutów xattrs dla plików w trybie tylko do odczytu, jeśli użytkownik ma uprawnienia do zmiany praw dostępu (na przykład podczas uruchamiania jako root).
  • Dodano i domyślnie włączono parametr „--info=NONREG”, aby wyświetlać ostrzeżenia o przesyłaniu plików specjalnych.
  • Skrypt rsync (ograniczony rsync) został przepisany w Pythonie. Dodano nowe opcje „-munge”, „-no-lock” i „-no-del”. Domyślnie włączone jest blokowanie opcji --copy-links (-L), --copy-dirlinks (-k) i --keep-dirlinks (-K), aby utrudnić ataki manipulujące dowiązaniami symbolicznymi do katalogów.
  • Skrypt atomic-rsync został przepisany w Pythonie i rozszerzony tak, aby ignorował niezerowe kody powrotu. Domyślnie kod 24 jest ignorowany w przypadku utraty plików podczas działania narzędzia rsync (na przykład kod 24 jest zwracany w przypadku plików tymczasowych, które były obecne podczas początkowego indeksowania, ale zostały usunięte do czasu migracji).
  • Skrypt munge-symlinks został przepisany w języku Python.

Źródło: opennet.ru

Dodaj komentarz