ํŒŒ์ผ ๋™๊ธฐํ™” ์œ ํ‹ธ๋ฆฌํ‹ฐ Rsync 3.2.4 ์ถœ์‹œ

3.2.4๋…„ ๋ฐ˜์˜ ๊ฐœ๋ฐœ ๋์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฆ๋ถ„ ๋ณต์‚ฌํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ๋™๊ธฐํ™” ๋ฐ ๋ฐฑ์—… ์œ ํ‹ธ๋ฆฌํ‹ฐ์ธ Rsync 3๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ „์†ก์€ ssh, rsh ๋˜๋Š” ๋…์  rsync ํ”„๋กœํ† ์ฝœ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฏธ๋Ÿฌ ๋™๊ธฐํ™”๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ต๋ช… rsync ์„œ๋ฒ„ ๊ตฌ์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” GPLvXNUMX ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ์ด์ „์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ "--protect-args"("-s") ์˜ต์…˜๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ rrsync ์Šคํฌ๋ฆฝํŠธ(์ œํ•œ๋œ rsync)์˜ ์ž‘์—…์„ ์ค‘๋‹จํ•˜์ง€ ์•Š๋Š” ๋ช…๋ น์ค„ ์ธ์ˆ˜๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ˜ธ๋Š” ์™ธ๋ถ€ ๋ช…๋ น ํ•ด์„๊ธฐ์— ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์ด์Šค์ผ€์ดํ”„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์€ ์ธ์šฉ๋œ ๋ธ”๋ก ๋‚ด์˜ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์ด์Šค์ผ€์ดํ”„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ถ”๊ฐ€ ์ด์Šค์ผ€์ดํ”„ ์—†์ด ํŒŒ์ผ ์ด๋ฆ„ ์ฃผ์œ„์— ๊ฐ„๋‹จํ•œ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ œ "rsync -aiv ํ˜ธ์ŠคํŠธ:'a simple file.pdf' ๋ช…๋ น์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. .โ€ ์ด์ „ ๋™์ž‘์„ ๋ฐ˜ํ™˜ํ•˜๋ ค๋ฉด "--old-args" ์˜ต์…˜๊ณผ "RSYNC_OLD_ARGS=1" ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ๋กœ์ผ€์ผ("." ๋Œ€์‹  ",")์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์†Œ์ˆ˜์  ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋žœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. "."๋งŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋œ ์Šคํฌ๋ฆฝํŠธ์˜ ๊ฒฝ์šฐ ์ˆซ์ž์—์„œ ํ˜ธํ™˜์„ฑ ์œ„๋ฐ˜์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋กœ์ผ€์ผ์„ "C"๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŠน๋ณ„ํžˆ ์ค€๋น„๋œ ๋ฌธ์ž ์‹œํ€€์Šค๋ฅผ ์••์ถ•ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ๋•Œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ์ผ์œผํ‚ค๋Š” zlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํฌํ•จ๋œ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ (CVE-2018-25032)์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””์Šคํฌ ์บ์‹œ๋ฅผ ํ”Œ๋Ÿฌ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํŒŒ์ผ ์ž‘์—…์—์„œ fsync() ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” "--fsync" ์˜ต์…˜์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • rsync-ssl ์Šคํฌ๋ฆฝํŠธ๋Š” openssl์— ์•ก์„ธ์Šคํ•  ๋•Œ "-verify_hostname" ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์žฅ์น˜ ํŒŒ์ผ์„ ์ผ๋ฐ˜ ํŒŒ์ผ๋กœ ๋ณต์‚ฌํ•˜๋Š” "--copy-devices" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์ˆ˜์˜ ์ž‘์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฆ๋ถ„์ ์œผ๋กœ ์ „์†กํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๊ฐ€ ๊ฐ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • macOS ํ”Œ๋žซํผ์—์„œ๋Š” โ€œโ€”atimesโ€ ์˜ต์…˜์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ(์˜ˆ: ๋ฃจํŠธ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ) ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ ํŒŒ์ผ์— ๋Œ€ํ•œ xattrs ์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํŠน์ˆ˜ ํŒŒ์ผ ์ „์†ก์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ "--info=NONREG" ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ  ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • rrsync(์ œํ•œ๋œ rsync) ์Šคํฌ๋ฆฝํŠธ๊ฐ€ Python์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์˜ต์…˜ "-munge", "-no-lock" ๋ฐ "-no-del"์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ --copy-links(-L), --copy-dirlinks(-k) ๋ฐ --keep-dirlinks(-K) ์˜ต์…˜ ์ฐจ๋‹จ์ด ํ™œ์„ฑํ™”๋˜์–ด ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ณต๊ฒฉ์„ ๋”์šฑ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • Atomic-rsync ์Šคํฌ๋ฆฝํŠธ๋Š” Python์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ 24์ด ์•„๋‹Œ ๋ฐ˜ํ™˜ ์ฝ”๋“œ๋ฅผ ๋ฌด์‹œํ•˜๋„๋ก ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ rsync๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ํŒŒ์ผ์ด ์†์‹ค๋˜๋ฉด ์ฝ”๋“œ 24๊ฐ€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ดˆ๊ธฐ ์ธ๋ฑ์‹ฑ ์ค‘์— ์กด์žฌํ–ˆ์ง€๋งŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹œ ์‚ญ์ œ๋œ ์ž„์‹œ ํŒŒ์ผ์— ๋Œ€ํ•ด ์ฝ”๋“œ XNUMX๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • munge-symlinks ์Šคํฌ๋ฆฝํŠธ๋Š” Python์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€