Home [Week 05 / Day 019] ํ•™์Šต ๊ธฐ๋ก
Post
Cancel

[Week 05 / Day 019] ํ•™์Šต ๊ธฐ๋ก

๐Ÿ“ ์˜ค๋Š˜ ํ•œ ์ผ

  • ๊ฐ•์˜ ์ˆ˜๊ฐ• ๋ฐ ์ •๋ฆฌ
    • [AI ์„œ๋น„์Šค] 3๊ฐ•, 4๊ฐ• (ing)
    • umask์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ
  • ์Šค๋ชฐํ†ก ์ฐธ์—ฌ


๐Ÿ‘ฅ ํ”ผ์–ด์„ธ์…˜ ์š”์•ฝ

ํ‚ค์›Œ๋“œ ๊ณต์œ 

  • daemon process์™€ background process
    • daemon process - ํ„ฐ๋ฏธ๋„ X (์‚ฌ์šฉ์ž-์ปดํ“จํ„ฐ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ ๋ถˆ๊ฐ€)
    • background process - ํ„ฐ๋ฏธ๋„ O
  • tmux - ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•˜๋Š” ํšจ๊ณผ
  • ์‹ ๊ฒฝ๋ง ์ •๋ฆฌ (โ†’ XAI)
  • dockerfile - docker image ์ƒ์„ฑ ์‹œ cache ๋•Œ๋ฌธ์— ์ฝ”๋“œ ๋ณ€๊ฒฝํ•ด์„œ ๋ฐ˜์˜์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•
    1. cache๋ฅผ ์ง€์›Œ์ค€๋‹ค.
    2. ์ฝ”๋“œ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. (๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ƒˆ๋กœ ์Œ“์•„์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.)
  • docker-compose
    • ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ณ , image๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋‹ค์‹œ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์–ด๋ ค์›Œ์ง„๋‹ค.
    • unit test & CI/CD ๊ฐœ๋…
  • Linux - umask & ํŠน์ˆ˜ ๊ถŒํ•œ
    • umask 022 - umask ๊ฐ’์„ 022๋กœ ์„ค์ •ํ•˜๊ธฐ
      • umask = 000 010 010
      • ~umask = 111 101 101
      • mode & ~umask โ‡’ mode ์ค‘์—์„œ umask๋กœ ์„ค์ •ํ•œ bit๋ฅผ off ํ•œ๋‹ค. (0์„ and ์—ฐ์‚ฐ)

      umask๋Š” (bit) negation ~ โ†’ logical AND operation &
      โ‡’ ์Šค์œ„์น˜๋ฅผ turn-off ํ•˜๋“ฏ์ด!

    ์‹ฌ๋ณผ๋ฆญ ๋ชจ๋“œ์™€ ์ˆซ์ž ๋ชจ๋“œ๋Š” ๋ฐ˜๋Œ€ ๋Š๋‚Œ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

    • ์‹ฌ๋ณผ๋ฆญ ๋ชจ๋“œ - ๊ถŒํ•œ์„ ๋ถ€์—ฌ, ์ง€์ •ํ•˜๋Š” ๋Š๋‚Œ (-์ธ ๊ฒฝ์šฐ ์ œ์™ธ)

      1
      
        umask u-x, g=rx, o+w  # comma ์‚ฌ์šฉ ๊ฐ€๋Šฅ
      
    • ์ˆซ์ž ๋ชจ๋“œ - ๊ถŒํ•œ์„ ์ œ๊ฑฐํ•˜๋Š” ๋Š๋‚Œ

      1
      
        umask 022   # 000 010 010  -> group์˜ w, other์˜ w๋ฅผ ๋ˆ๋‹ค.
      
    • ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ = mode & ~umask & 01777
      • mode = ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•˜๋Š” permission ๊ฐ’
      • umask = 1๋กœ ์„ค์ •๋œ ๋น„ํŠธ๋ฅผ off (& ~ ์—ฐ์‚ฐ)
      • 01777 = sticky bit๋„ ์„ค์ •
    • directory์˜ ๊ฐ ํŠน์ˆ˜ ๊ถŒํ•œ bit๋ฅผ on ํ•˜๋Š” ๊ฒฝ์šฐ
      • setuid - EUID = RUID โ†’ File Owner ID ๊ฐ€ ๋˜๋„๋ก ํ•œ๋‹ค.
      • setgid - EGID = RGID โ†’ Group Owner ID ๊ฐ€ ๋˜๋„๋ก ํ•œ๋‹ค.
      • sticky bit - ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” dir์— ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ์–ด๋„ ํŒŒ์ผ ์‚ญ์ œ/๋ณ€๊ฒฝ์€ ํŒŒ์ผ์˜ ์†Œ์œ ์ž & ์Šˆํผ์œ ์ €๋งŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
    • ํŠน์ˆ˜ ๊ถŒํ•œ์ด ์ง€์ •๋˜์–ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—ย chmod 700 ์™€ ๊ฐ™์ด ์ง€์ •ํ•˜๋ฉด ๊ธฐ์กด์˜ ํŠน์ˆ˜ ๊ถŒํ•œ์ด ๋ชจ๋‘ ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
      • chmod 700 == chmod 0700

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋””

๋‚˜๋Š” ๊ฒฐ๊ตญ ๋ชป ํ’€์—ˆ๋‹คโ€ฆ


๐Ÿพ ์ผ์ผ ํšŒ๊ณ 

์–ด์ œ AI ์„œ๋น„์Šค 3๊ฐ•์„ ๋‹ค ๋ชป ๋“ค์–ด์„œ ์˜ค๋Š˜ ๋น ๋ฅด๊ฒŒ ๋“ฃ๊ณ  4, 5๊ฐ•์„ ๋“ค์œผ๋ ค ํ•˜์˜€์œผ๋‚˜ ์•„์นจ์— ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๋‹ค ๋ชป ๋“ค์—ˆ๋‹ค. (๋ฌผ๋ก  ์ฝ”ํ…Œ ๋ฌธ์ œ๋„ ํ’€์ง€ ๋ชปํ–ˆ๋‹ค. ใ… ใ… ) ๊ฑฐ๊ธฐ์— ์•„์ง๋„ ๋งค์ผ๋งˆ๋‹ค ๋งฅ๋ถ์— ์„ค์น˜ํ•  ๊ฒƒ์ด ์ƒ๊ฒจ์„œ ์‹ค์Šต๊นŒ์ง€ ๋”ฐ๋ผํ•ด๋ณด๋ ค๋‹ˆ ์‹œ๊ฐ„ ๊ด€๋ฆฌ๊ฐ€ ๋”์šฑ ๋” ์•ˆ๋œ ๊ฒƒ ๊ฐ™๋‹ค. ์‹ฌ์ง€์–ด ๊ฐ•์˜๋ฅผ ๋“ฃ๋‹ค๊ฐ€ Linux ํŒŒํŠธ์—์„œ (๋‚ด๊ฐ€ 2ํ•™๋…„ ๋•Œ ์œ ๋‹‰์Šค ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ๋Š˜ ํ—ท๊ฐˆ๋ คํ–ˆ๋˜) umask์™€ ํŠน์ˆ˜ ๊ถŒํ•œ์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ์ฐพ์•„๋ณด๊ณ  ์‹ถ์—ˆ์–ด์„œ ์‹œ๊ฐ„์„ ๋” ์ผ๋‹คโ€ฆ ๐Ÿ˜ฎโ€๐Ÿ’จ ์˜ค๋Š˜์€ ๊ฑฐ๊ธฐ์—๋‹ค๊ฐ€ ์Šค๋ชฐํ†ก๊นŒ์ง€ ์žˆ์—ˆ๋Š”๋ฐ, ๋œจ๊ฑฐ์šด ๋…ธํŠธ๋ถ + ์ˆ˜๋งŽ์€ ๋ ‰ + ์•ˆ ๋‚˜์˜ค๋Š” ๋งˆ์ดํฌ ๋•๋ถ„์— ์ •์‹ ์ด ํ•˜๋‚˜๋„ ์—†์—ˆ๊ณ , ๋‚ด๊ฐ€ ๋งํ•  ์ฐจ๋ก€๊ฐ€ ๋์„ ๋•Œ๋Š” ์ฑ„ํŒ…์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜๋ฐ–์— ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์—ฌ๋Ÿฌ ์บ ํผ๋ถ„๋“ค๊ป˜์„œ ๋”ฐ๋œปํ•œ ๋ฐ˜์‘์„ ํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ๊ฐ์‚ฌํ–ˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค๋„ ์ข‹์€ ์ธ์‚ฌ์ดํŠธ๋“ค์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์„œ ์ •๋ง ์ข‹์•˜๋‹ค!! ์•„๋ฌดํŠผ ๊ต‰์žฅํžˆ ์ •์‹  ์—†๋Š” ํ•˜๋ฃจ์˜€๋Š”๋ฐ, ๋‚ด์ผ์€ ์ข€ ๋” ์ •๋ˆ๋œ ํ•˜๋ฃจ๊ฐ€ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.


๐Ÿš€ ๋‚ด์ผ ํ•  ์ผ

  • ๋ฉ˜ํ† ๋ง
  • ๊ฐ•์˜ ์ˆ˜๊ฐ• ๋ฐ ์ •๋ฆฌ
    • [AI ์„œ๋น„์Šค] 4, 5๊ฐ•, ํŠน๊ฐ•
  • ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
This post is licensed under CC BY 4.0 by the author.

[Week 05 / Day 018] ํ•™์Šต ๊ธฐ๋ก

[Week 05 / Day 020] ํ•™์Šต ๊ธฐ๋ก