์‚ผ๋ฐ” 4.12.0 ๋ฆด๋ฆฌ์Šค

๋„์ž… ์„๋ฐฉํ•˜๋‹ค ์‚ผ๋ฐ” 4.12.0๋ธŒ๋žœ์น˜์˜ ๋ฐœ์ „์„ ์ด์–ด์˜จ , ์‚ผ๋ฐ” 4 Windows 2000 ๊ตฌํ˜„๊ณผ ํ˜ธํ™˜๋˜๊ณ  Windows 10์„ ํฌํ•จํ•˜์—ฌ Microsoft๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๋ฒ„์ „์˜ Windows ํด๋ผ์ด์–ธํŠธ๋ฅผ ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ Active Directory ์„œ๋น„์Šค์˜ ์ „์ฒด ๊ตฌํ˜„์„ ํ†ตํ•ด Samba 4๋Š” ๋‹ค์Œ ๊ตฌํ˜„๋„ ์ œ๊ณตํ•˜๋Š” ๋‹ค๊ธฐ๋Šฅ ์„œ๋ฒ„ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ ์„œ๋ฒ„, ์ธ์‡„ ์„œ๋น„์Šค ๋ฐ ID ์„œ๋ฒ„(winbind).

์—ด์‡  ๋ณ€๊ฒฝ ์‚ผ๋ฐ” 4.12์—์„œ:

  • ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด์žฅ๋œ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ์ฝ”๋“œ ๋ฒ ์ด์Šค์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GnuTLS๋ฅผ ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ตœ์†Œ ๋ฒ„์ „ 3.4.7 ํ•„์š”). ๋‚ด์žฅ๋œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์˜ ์ทจ์•ฝ์  ์‹๋ณ„๊ณผ ๊ด€๋ จ๋œ ์ž ์žฌ์ ์ธ ์œ„ํ˜‘์„ ์ค„์ด๋Š” ๊ฒƒ ์™ธ์—๋„ GnuTLS๋กœ์˜ ์ „ํ™˜์„ ํ†ตํ•ด SMB3์—์„œ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Linux 5.3 ์ปค๋„์—์„œ CIFS ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ•  ๋•Œ ์“ฐ๊ธฐ ์†๋„๋Š” 3๋ฐฐ, ์ฝ๊ธฐ ์†๋„๋Š” 2.5๋ฐฐ ์ฆ๊ฐ€ํ•œ ๊ฒƒ์œผ๋กœ ๊ธฐ๋ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ SMB ํŒŒํ‹ฐ์…˜์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋ฐฑ์—”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ŠคํฌํŠธ๋ผ์ดํŠธ๊ฒ€์ƒ‰ ์—”์ง„ ๊ธฐ๋ฐ˜ ํƒ„์„ฑ ๊ฒ€์ƒ‰ (์ด์ „์—๋Š” ๋ฐฑ์—”๋“œ๊ฐ€ ๋‹ค์Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋†ˆ ์ถ”์ ๊ธฐ). Spotlight RPC ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” SMB ์„œ๋ฒ„์— ๊ฒ€์ƒ‰ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„๊ณผ ํ•จ๊ป˜ "mdfind" ์œ ํ‹ธ๋ฆฌํ‹ฐ๋„ ํŒจํ‚ค์ง€์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "spotlight backend" ์„ค์ •์˜ ๊ธฐ๋ณธ๊ฐ’์ด "noindex"๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Tracker ๋˜๋Š” Elasticsearch์˜ ๊ฒฝ์šฐ ๋ช…์‹œ์ ์œผ๋กœ ๊ฐ’์„ "tracker" ๋˜๋Š” "elasticsearch"๋กœ ์„ค์ •ํ•ด์•ผ ํ•จ).
  • 'net Ads kerberos pac save' ๋ฐ 'net eventlog ๋‚ด๋ณด๋‚ด๊ธฐ' ์ž‘์—…์˜ ๋™์ž‘์ด ๋ณ€๊ฒฝ๋˜์–ด ๋” ์ด์ƒ ํŒŒ์ผ์„ ๋ฎ์–ด์“ฐ์ง€ ์•Š๊ณ  ๋Œ€์‹  ๊ธฐ์กด ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • samba-tool์€ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์˜ ์—ฐ๋ฝ์ฒ˜ ํ•ญ๋ชฉ ์ถ”๊ฐ€๋ฅผ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” 'samba-tool group addmemers' ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน ๋ฐ ์ปดํ“จํ„ฐ๋ฅผ ์ƒˆ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์ด์ œ๋Š” ์—ฐ๋ฝ์ฒ˜๋ฅผ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • Samba ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ์ง ๋‹จ์œ„(OU, ์กฐ์ง ๋‹จ์œ„) ๋˜๋Š” ํ•˜์œ„ ํŠธ๋ฆฌ๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ํ”Œ๋ž˜๊ทธ "--base-dn" ๋ฐ "-member-base-dn"์ด ์ถ”๊ฐ€๋˜์–ด Active Directory ํŠธ๋ฆฌ์˜ ํŠน์ • ๋ถ€๋ถ„(์˜ˆ: ํ•˜๋‚˜์˜ OU ๋‚ด์—์„œ๋งŒ)์œผ๋กœ๋งŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด Linux ์ปค๋„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด VFS ๋ชจ๋“ˆ 'io_uring'์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. io_uring ๋น„๋™๊ธฐ I/O์˜ ๊ฒฝ์šฐ. Io_uring์€ I/O ํด๋ง์„ ์ง€์›ํ•˜๊ณ  ๋ฒ„ํผ๋ง๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด์ „์— ์ œ์•ˆ๋œ "aio" ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋ฒ„ํผ๋ง๋œ I/O๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค). ํด๋ง์ด ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—์„œ ์ž‘์—…ํ•  ๋•Œ io_uring์˜ ์„ฑ๋Šฅ์€ aio๋ณด๋‹ค ํ›จ์”ฌ ์•ž์„œ ์žˆ์Šต๋‹ˆ๋‹ค. Samba๋Š” ์ด์ œ io_uring์„ ์‚ฌ์šฉํ•˜์—ฌ SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV๋ฅผ ์ง€์›ํ•˜๊ณ  ๊ธฐ๋ณธ VFS ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์Šค๋ ˆ๋“œ ํ’€์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. 'io_uring' VFS ๋ชจ๋“ˆ์„ ๋นŒ๋“œํ•˜๋ ค๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋ฐฉํ•˜๋‹ค ๋ฐ Linux ์ปค๋„ 5.1+.
  • VFS๋Š” SMB_VFS_NTIMES() ํ•จ์ˆ˜์—์„œ ์‹œ๊ฐ„์„ ๋ฌด์‹œํ•ด์•ผ ํ•œ๋‹ค๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ˆ˜ ์‹œ๊ฐ„ ๊ฐ’ UTIME_OMIT๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • smb.conf์—์„œ "์“ฐ๊ธฐ ์บ์‹œ ํฌ๊ธฐ" ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” io_uring ์ง€์› ๋„์ž… ์ดํ›„ ์˜๋ฏธ๊ฐ€ ์—†๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Samba-DC ๋ฐ Kerberos๋Š” ๋” ์ด์ƒ DES ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Heimdal-DC์—์„œ ์•ฝํ•œ ์•”ํ˜ธํ™” ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • vfs_netatalk ๋ชจ๋“ˆ์ด ์ œ๊ฑฐ๋˜์–ด ์œ ์ง€ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๊ณ  ๋” ์ด์ƒ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.
  • BIND9_FLATFILE ๋ฐฑ์—”๋“œ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • zlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ ์ข…์†์„ฑ์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ zlib ๊ตฌํ˜„์ด ์ฝ”๋“œ ๋ฒ ์ด์Šค์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ฝ”๋“œ๋Š” ์•”ํ˜ธํ™”๋ฅผ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ด์ „ ๋ฒ„์ „์˜ zlib๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค).
  • ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•œ ์ฝ”๋“œ ๋ฒ ์ด์Šค์˜ ํผ์ง• ํ…Œ์ŠคํŠธ๊ฐ€ ํ™•๋ฆฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    oss-fuzz. ํผ์ง• ํ…Œ์ŠคํŠธ ์ค‘์— ๋งŽ์€ ์˜ค๋ฅ˜๊ฐ€ ์‹๋ณ„๋˜๊ณ  ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Python์—์„œ ์ตœ์†Œ Python ๋ฒ„์ „ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    3.4์—์„œ ํŒŒ์ด์ฌ 3.5๋กœ. Python 2๋กœ ํŒŒ์ผ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๊ณ„์† ์œ ์ง€๋ฉ๋‹ˆ๋‹ค(./configure' ๋ฐ 'make'๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ 'PYTHON=python2'๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•จ).

์ถœ์ฒ˜ : opennet.ru

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