• ABOUT
  • POSTS
  • GUESTBOOK

ยฉ 2025 BlueCool12 All rights reserved.

2025.09.16Linux

๐Ÿ” chownยทchmod๋กœ ๋ฐฐ์šฐ๋Š” ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ๊ถŒํ•œ ๊ด€๋ฆฌ

๋ฆฌ๋ˆ…์Šค์˜ ๊ถŒํ•œ ๊ด€๋ฆฌ๋Š” ์‚ฌ์šฉ์ž(User)์™€ ๊ทธ๋ฃน(Group)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. 
 

๊ณ„์ • ์ƒ์„ฑ ์˜ˆ์‹œ

*Ubuntu/Debian ๊ธฐ์ค€ 

sudo adduser <์œ ์ €๋ช…> ๋ช…๋ น์–ด๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๊ณ  Full Name / Room / Phone / Other ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ •๋ณด(GECOS)๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. (์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ์ƒ๋žต๋„ ๊ฐ€๋Šฅ) 

ํ˜„์žฌ ๋กœ๊ทธ์ธ ๋˜์–ด์žˆ๋Š” ๊ณ„์ •์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 
 

๊ณ„์ • ์ •๋ณด ํ™•์ธ ์˜ˆ์‹œ

*sudo ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ sudo -iu <์œ ์ €๋ช…> ์œผ๋กœ ๊ณ„์ • ์ „ํ™˜ ๊ฐ€๋Šฅ 

whoami ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋ช…์„ ์ถœ๋ ฅํ•œ๋‹ค. id๋Š” ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ UID/GID์™€ ์†Œ์† ๊ทธ๋ฃน๋“ค์„ ๋ณด์—ฌ์ฃผ๊ณ  groups <์œ ์ €๋ช…> ๋ช…๋ น์–ด๋Š” ํ•ด๋‹น ์‚ฌ์šฉ์ž๊ฐ€ ์†ํ•œ ๊ทธ๋ฃน์˜ ๋ชฉ๋ก์„ ์ถœ๋ ฅํ•œ๋‹ค. 
 

๊ถŒํ•œ ํ™•์ธ ์˜ˆ์‹œ


ls -lh ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ํด๋”์˜ ํŒŒ์ผ๋“ค๊ณผ ๊ถŒํ•œ์„ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. project ํด๋”์˜ ๊ฒฝ์šฐ ์†Œ์œ ์ž/๊ทธ๋ฃน์ด root:root ์ด๊ณ  ๊ถŒํ•œ์ด *755์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋Š” ์“ฐ๊ธฐ(w) ๊ถŒํ•œ์ด ์—†์–ด Permission denied๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 
 

*๊ถŒํ•œ 8์ง„์ˆ˜ ํ‘œ๊ธฐ
๊ฐ ์ž๋ฆฌ(์†Œ์œ ์ž/๊ทธ๋ฃน/๊ธฐํƒ€)๋ฅผ 8์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ r = 4 (read) w = 2 (write) x = 1 (execute) ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 

ex) 755
์†Œ์œ ์ž: 7 = 4 + 2 + 1 = rwx 
๊ทธ๋ฃน: 5 = 4 + 1 = r-x 
๊ธฐํƒ€: 5 = 4 + 1 = r-x 


๋”ฐ๋ผ์„œ sudo ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ณ„์ •์œผ๋กœ ์ „ํ™˜ํ•œ ํ›„ chown ๋ช…๋ น์–ด๋กœ ์†Œ์œ ๊ถŒ์„ bluecool๋กœ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค. 
 

๊ถŒํ•œ ๋ณ€๊ฒฝ ์˜ˆ์‹œ


ls -lh ๋ช…๋ น์–ด์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๊ถŒํ•œ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ  ์ดํ›„ ํŒŒ์ผ ์ƒ์„ฑ๋„ ์ •์ƒ์ ์œผ๋กœ ๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 


chown

ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์†Œ์œ ์ž(owner)์™€ ๊ทธ๋ฃน(group)์„ ๋ฐ”๊พธ๋Š” ๋ช…๋ น์–ด์ด๋‹ค. 
 

plaintext
chown [์˜ต์…˜] <์†Œ์œ ์ž>[:<๊ทธ๋ฃน>] <๊ฒฝ๋กœ...>
chown [์˜ต์…˜] :<๊ทธ๋ฃน> <๊ฒฝ๋กœ...>   # ๊ทธ๋ฃน๋งŒ ๋ณ€๊ฒฝ
chown [์˜ต์…˜] <์†Œ์œ ์ž>: <๊ฒฝ๋กœ...> # ์†Œ์œ ์ž๋งŒ ๋ณ€๊ฒฝ
chown [์˜ต์…˜] --reference=<๊ธฐ์ค€ํŒŒ์ผ> <๊ฒฝ๋กœ...> # ๊ธฐ์ค€ํŒŒ์ผ๊ณผ ๋™์ผํ•œ owner:group์œผ๋กœ ๋ณ€๊ฒฝ


์ด๋ฆ„ ๋Œ€์‹  UID/GID๋กœ๋„ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ฝœ๋ก (:) ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•œ๋‹ค. ํ•จ๊ป˜ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 
 

  • -R, --recursive : ํ•˜์œ„ ๋ชจ๋‘ ์žฌ๊ท€ ์ ์šฉ
  • -v, --verbose : ์ฒ˜๋ฆฌํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์ถœ๋ ฅ
  • -c, --changes : ์‹ค์ œ๋กœ ๋ณ€๊ฒฝ๋œ ํ•ญ๋ชฉ๋งŒ ์ถœ๋ ฅ
  • -f, --silent : ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ตœ์†Œํ™”


์˜ˆ์‹œ

plaintext
# ๋””๋ ‰ํ„ฐ๋ฆฌ ์†Œ์œ ์ž/๊ทธ๋ฃน์„ bluecool๋กœ ๋ณ€๊ฒฝ
sudo chown bluecool:bluecool /srv/project

# ์žฌ๊ท€์ ์œผ๋กœ ํ•˜์œ„๊นŒ์ง€ ๋ชจ๋‘ ๋ณ€๊ฒฝ
sudo chown -R bluecool:bluecool /srv/project

# ๊ทธ๋ฃน๋งŒ devteam์œผ๋กœ ๋ณ€๊ฒฝ
sudo chown :devteam /srv/project


์†Œ์œ ์ž ๋ณ€๊ฒฝ์€ ๋ณดํ†ต root/sudo๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํŒŒ์ผ์„ ์ง€์šฐ๊ฑฐ๋‚˜ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ถ€๋ชจ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ w(์“ฐ๊ธฐ) + x(์ง„์ž…) ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. 
 

chmod

chmod๋Š” ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ถŒํ•œ(rwx)์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. 
 

plaintext
chmod [์˜ต์…˜] <๋ชจ๋“œ> <๊ฒฝ๋กœ...>


๋ชจ๋“œ ์ข…๋ฅ˜์—๋Š” ์ˆซ์ž(8์ง„์ˆ˜) ๋ชจ๋“œ, ๊ธฐํ˜ธ ๋ชจ๋“œ๊ฐ€ ์žˆ๋‹ค. 
 

๊ธฐํ˜ธ ๋ชจ๋“œ ์š”์†Œ
๋Œ€์ƒ: u(์†Œ์œ ์ž) g(๊ทธ๋ฃน) o(๊ธฐํƒ€) a(์ „์ฒด)
์—ฐ์‚ฐ: +(์ถ”๊ฐ€) -(์ œ๊ฑฐ) =(์ •ํ™•ํžˆ ์„ค์ •)
๊ถŒํ•œ: r(4) ์ฝ๊ธฐ / w(2) ์“ฐ๊ธฐ / x(1) ์‹คํ–‰
X: ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๊ธฐ์กด์— ์‹คํ–‰ ๋น„ํŠธ๊ฐ€ ์žˆ๋˜ ํŒŒ์ผ์—๋งŒ x ์ ์šฉ


์˜ˆ์‹œ

plaintext
# ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ
chmod +x deploy.sh

# ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ณต์œ (๊ทธ๋ฃน ์“ฐ๊ธฐ ํ—ˆ์šฉ + setgid)
chmod 2775 /srv/project

# ๋ฏผ๊ฐ ํŒŒ์ผ/SSH ํ‚ค ๊ถŒํ•œ ์„ค์ • (์†Œ์œ ์ž๋งŒ rw)
chmod 600 ~/.ssh/id_rsa

# ๊ธฐํ˜ธ ๋ชจ๋“œ๋กœ ์ •ํ™•ํžˆ ์ง€์ •
chmod u=rwx,g=rx,o=rx app


*๊ธฐํ˜ธ ๋ชจ๋“œ์˜ ํŠน์ˆ˜ ๋น„ํŠธ

4xxx - setuid
์‹คํ–‰ ํŒŒ์ผ์„ ํŒŒ์ผ ์†Œ์œ ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰

2xxx - setgid
ํŒŒ์ผ: ์‹คํ–‰ ์ค‘ ํŒŒ์ผ์˜ ๊ทธ๋ฃน ๊ถŒํ•œ์œผ๋กœ ๋™์ž‘
๋””๋ ‰ํ„ฐ๋ฆฌ: ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์—์„œ ์ƒˆ๋กœ ๋งŒ๋“  ํ•ญ๋ชฉ์˜ ๊ทธ๋ฃน์„ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ทธ๋ฃน์œผ๋กœ ์ƒ์†

1xxx - sticky
๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ๋ณธ์ธ ์†Œ์œ ๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅ
 

์ด์ „ ๊ธ€
๐Ÿค– Next.js MetadataRoute ์ •๋ณต: Robots, Sitemap, Manifest๊นŒ์ง€ ํ•œ ๋ฒˆ์—
๋‹ค์Œ ๊ธ€
๐Ÿž CI/CD ์˜ค๋ฅ˜: GHCR์„ ์ด์šฉํ•œ GitHub Actions ์ตœ์ ํ™” ๋ฐฐํฌ
์žฅ์‹์šฉ ๋กœ๊ณ