Cloud Engineering/Linux ๐Ÿง

[Linux] ๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์—์„œ ํผ๋ฏธ์…˜ (permission) ๋ณ€๊ฒฝํ•˜๊ธฐ

minjiwoo 2022. 12. 28. 17:42
728x90

linux ๊ฐ€ window ์šด์˜์ฒด์ œ์— ๋น„ํ•ด์„œ ์•ˆ์ „ํ•œ ์ด์œ ๋Š” ์œˆ๋„์šฐ๋Š” ํ•œ ๊ณ„์ •์ด ํ™˜๊ฒฝ ์ „์ฒด์— ์˜ํ–ฅ์„ ์ฃผ๋Š”๋ฐ ๋น„ํ•ด, linux๋Š” ๊ฐ๊ฐ์˜ ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ๋งˆ๋‹ค ๊ฐœ๋ณ„์ ์ธ ์ฝ๊ธฐ ๊ถŒํ•œ, ์“ฐ๊ธฐ ๊ถŒํ•œ, ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด์ฒ˜๋Ÿผ ํผ๋ฏธ์…˜์€ linux์˜ ํฐ ํŠน์ง•์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ํ„ฐ๋ฏธ๋„ (์‰˜)์—์„œ์˜ ์ž‘์—…์„ ํ†ตํ•ด ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. 

1. ํผ๋ฏธ์…˜ ๊ฐœ๋… 

์šฐ์„  ํผ๋ฏธ์…˜์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 
r , w, x๋กœ ํ‘œ๊ธฐ๋˜๋ฉฐ r์€ read, w์€ write, x๋Š” excute ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด๋‹ค. 
- ๋กœ ํ‘œ๊ธฐํ•  ๊ฒฝ์šฐ, ๊ถŒํ•œ์ด ์—†๋‹ค๋Š” ๋œป์œผ๋กœ none์ด๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. 

ํผ๋ฏธ์…˜์„ ์ˆซ์ž๋กœ ํ‘œ๊ธฐํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 
r read 2^2 = 4 
w write 2^1 = 2
x execute 2^0 = 1
- none denied = 0 

์ด ์„ธ๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ด 8๊ฐ€์ง€ (= 2^3) ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ , ์ด๋ฅผ 0 ~7์˜ 8์ง„์ˆ˜๋กœ ํ‘œ๊ธฐํ•œ๋‹ค. 

- - - : 0 
- - x : 1
- w - : 2
- w x : 3
r - - : 4
r - x : 5
r w - : 6
r w x : 7 

ls -l ํŒŒ์ผ๋ช… ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํผ๋ฏธ์…˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

์œ„์˜ ๊ฒฝ์šฐ aaa๋Š” ํŒŒ์ผ์— ํ•ด๋‹นํ•œ๋‹ค. 

ํผ๋ฏธ์…˜์ด 3๊ฐœ์”ฉ (-rwr--r--) ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ด๋Š”์ˆœ์„œ๋Œ€๋กœ user, group, other์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด๋‹ค. 
user ๋Š” ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์†Œ์œ ์ž์ด๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ์ž๊ฐ€ ๋œ๋‹ค. 
group์€ ์‚ฌ์šฉ์ž๊ฐ€ ์†ํ•œ ๋…ผ๋ฆฌ ๊ทธ๋ฃน์ด๋‹ค. others๋Š” ์†Œ์œ ์ž๋‚˜ ๊ทธ๋ฃน์— ์†ํ•˜์ง€ ์•Š์€ ๊ธฐํƒ€ ์‚ฌ์šฉ์ž์ด๋‹ค. 
์œ„์˜ ๊ฒฝ์šฐ user๋Š” read, write ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, group ๊ณผ other์— ๋Œ€ํ•ด์„œ๋Š” read๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•˜๊ณ  ์žˆ๋‹ค. 


2. full permission

ํŒŒ์ผ์˜ ๊ฒฝ์šฐ, ์ฝ๊ณ  ์“ฐ๋Š” ์ž‘์—…์ด ๊ธฐ๋ณธ์ ์ด๋‹ค. ํŒŒ์ผ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•จ์ด ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค! ์ด๋ง์€ ์ฆ‰ ์‹คํ–‰ (excute) ๊ถŒํ•œ์ด ๊ธฐ๋ณธ์œผ๋กœ ์ฃผ์–ด์ง€์ง€ ์•Š์œผ๋ฉฐ, ์‹คํ–‰ ๊ถŒํ•œ์€ ํŒŒ์ผ ์ž…์žฅ์—์„œ ํŠน์ˆ˜ํ•œ ๊ถŒํ•œ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ ํŒŒ์ผ์— ๋Œ€ํ•ด ์‹คํ–‰ ๊ถŒํ•œ์„ ์ฃผ๊ฒŒ ๋˜๋ฉด ๋ณด์•ˆ์ƒ ์ทจ์•ฝํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. 

๋”ฐ๋ผ์„œ file์˜ ๊ฒฝ์šฐ ํ’€ ํผ๋ฏธ์…˜์€ 666์ด ๋œ๋‹ค. 666์€ -rw-rw-rw  ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 

๋ฐ˜๋ฉด, ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฒฝ์šฐ ํ’€ ํผ๋ฏธ์…˜์€ 777์ด ๋œ๋‹ค. 
๋””๋ ‰ํ† ๋ฆฌ์˜ read๋Š” ls ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด directory์˜ datablock์„ ์ฝ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. 
๋””๋ ‰ํ† ๋ฆฌ์˜ write๋Š” touch, mkdir, rm, mv, cp ๋“ฑ์˜ ๋ช…๋ น์–ด๊ฐ€ ํ•ด๋‹น๋  ๊ฒƒ์ด๋‹ค. 
๋””๋ ‰ํ† ๋ฆฌ์˜ execute ๋Š” cd (change directory) ๋ช…๋ น์–ด๊ฐ€ ํ•ด๋‹น ๋  ๊ฒƒ์ด๋‹ค. 

3. ํผ๋ฏธ์…˜ ๋ณ€๊ฒฝํ•˜๊ธฐ 

ํผ๋ฏธ์…˜์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹์—๋Š” ๋„˜๋ฒ„๋ฆญ ๋ฐฉ์‹๊ณผ ์‹ฌ๋ณผ๋ฆญ ๋ฐฉ์‹์ด ์žˆ๋‹ค. 

1) ์‹ฌ๋ณผ๋ฆญ ๋ฐฉ์‹์œผ๋กœ ํผ๋ฏธ์…˜ ๋ณ€๊ฒฝํ•˜๊ธฐ 

์šฐ์„  ์‹ฌ๋ณผ๋ฆญ ๋ฐฉ์‹์€ 
๊ถŒํ•œ์„ ์ค€๋‹ค๋Š” ์˜๋ฏธ์˜ + ๊ธฐํ˜ธ, ๊ถŒํ•œ์„ ๋บ๋Š”๋‹ค๋Š” ์˜๋ฏธ์˜ - ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋‹ค. 

user, group, others๋Š” ๊ฐ๊ฐ ๊ธฐํ˜ธ๋กœ u, g, o ๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒฝ์šฐ์— a (all์˜ ์ถ•์•ฝ์–ด) ๋ผ๋Š” ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 

chmod u-w,g+w aaa 



๋ผ๋Š” ๋ช…๋ น์–ด๋Š” aaa ๋ผ๋Š” ํŒŒ์ผ์— ๋Œ€ํ•ด user์—๊ฒŒ์„œ write ๊ถŒํ•œ์„ ์ทจ์†Œํ•˜๊ณ , group์—๊ฒŒ write๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. 
์‚ฌ์ง„์—์„œ๋„ user์˜ ๊ถŒํ•œ์ด -rw์—์„œ -r-๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๊ณ , group์˜ ๊ถŒํ•œ์ด r--์—์„œ rw-๋กœ ๋ฐ”๋€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

2)๋„˜๋ฒ„๋ฆญ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ 

๋„˜๋ฒ„๋ฆญ ๋ฐฉ์‹์€ ์œ„์˜ ๊ธฐํ˜ธ๋“ค์„ ์„ธ์ž๋ฆฌ์˜ 8์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ๋‹ค. 

chmod 777 aaa 

์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, file aaa์— ๋Œ€ํ•ด user, group, other์—๊ฒŒ read, write, execute ๊ถŒํ•œ์„ ๋ชจ๋‘ ์ค€๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. 


3) umask 

umask ๋ฅผ ํ†ตํ•˜์—ฌ ๋””ํดํŠธ ๊ถŒํ•œ์— ๋Œ€ํ•ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์—์„œ๋Š” ์ผ์ผ์ด ๋ช…๋ น์–ด๋ฅผ ์ณ์„œ ํŒŒ์ผ์— ๋Œ€ํ•ด ๊ถŒํ•œ์„ ๋ฐ”๊ฟจ์—ˆ๋Š”๋ฐ, ๋ฒˆ๊ฑฐ๋กœ์šฐ๋ฏ€๋กœ ํ•œ๋ฒˆ์— ํผ๋ฏธ์…˜ ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

terminal์— umask ๋ช…๋ น์–ด๋ฅผ ์น˜๋ฉด umask ์˜ ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

root@user-Aspire-E5-576:/home/user# umask
0022

์˜ˆ๋ฅผ ๋“ค์–ด umask ๊ฐ€ 0022 ์ผ ๋•Œ ๋งจ์•ž 0 ์„ ์ œ์™ธํ•œ 022๋ฅผ ํ†ตํ•ด ํผ๋ฏธ์…˜์— ๋Œ€ํ•ด ์ ‘๊ทผํ•œ๋‹ค. 

ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ฉด, ํŒŒ์ผ์˜ ํ’€ ํผ๋ฏธ์…˜์€ 666์ด๋ฏ€๋กœ 666 - 022 = 644 ์˜ ํผ๋ฏธ์…˜์œผ๋กœ ์ƒ์„ฑ๋  ๊ฒƒ์ด๋‹ค. 

๋˜ํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ๋””๋ ‰ํ† ๋ฆฌ์˜ ํ’€ ํผ๋ฏธ์…˜์€ 777 ์ด๋ฏ€๋กœ 777 - 022 = 755 ๋กœ ์ƒ์„ฑ ๋  ๊ฒƒ์ด๋‹ค. 

umask 023 ์ฒ˜๋Ÿผ, umask umask๊ฐ’ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด umask ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. 
umask ์„ค์ •์„ .bash_profile์—์„œ ์…‹ํŒ…ํ•ด๋‘˜์ˆ˜๋„ ์žˆ๋‹ค. 

umask 027๋กœ ๋ณ€๊ฒฝ



728x90