๋ฆฌ๋
์ค์ ๊ถํ ๊ด๋ฆฌ๋ ์ฌ์ฉ์(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 ๋ช
๋ น์ด์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๊ถํ ๋ณ๊ฒฝ์ด ๋ฐ์๋ ๊ฒ์ ํ์ธํ ์ ์๊ณ ์ดํ ํ์ผ ์์ฑ๋ ์ ์์ ์ผ๋ก ๋ ๊ฒ์ ์ ์ ์๋ค.
ํ์ผ/๋๋ ํฐ๋ฆฌ์ ์์ ์(owner)์ ๊ทธ๋ฃน(group)์ ๋ฐ๊พธ๋ ๋ช
๋ น์ด์ด๋ค.
chown [์ต์
] <์์ ์>[:<๊ทธ๋ฃน>] <๊ฒฝ๋ก...>
chown [์ต์
] :<๊ทธ๋ฃน> <๊ฒฝ๋ก...> # ๊ทธ๋ฃน๋ง ๋ณ๊ฒฝ
chown [์ต์
] <์์ ์>: <๊ฒฝ๋ก...> # ์์ ์๋ง ๋ณ๊ฒฝ
chown [์ต์
] --reference=<๊ธฐ์คํ์ผ> <๊ฒฝ๋ก...> # ๊ธฐ์คํ์ผ๊ณผ ๋์ผํ owner:group์ผ๋ก ๋ณ๊ฒฝ
์ด๋ฆ ๋์ UID/GID๋ก๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ฉฐ ์ฝ๋ก (:) ์ฌ์ฉ์ ๊ถ์ฅํ๋ค. ํจ๊ป ์์ฃผ ์ฌ์ฉ๋๋ ์ต์
์ ๋ค์๊ณผ ๊ฐ๋ค.
์์
# ๋๋ ํฐ๋ฆฌ ์์ ์/๊ทธ๋ฃน์ 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๋ ํ์ผ/๋๋ ํฐ๋ฆฌ์ ๊ถํ(rwx)์ ๋ณ๊ฒฝํ๋ ๋ช
๋ น์ด์ด๋ค.
chmod [์ต์
] <๋ชจ๋> <๊ฒฝ๋ก...>
๋ชจ๋ ์ข
๋ฅ์๋ ์ซ์(8์ง์) ๋ชจ๋, ๊ธฐํธ ๋ชจ๋๊ฐ ์๋ค.
๊ธฐํธ ๋ชจ๋ ์์
๋์: u(์์ ์) g(๊ทธ๋ฃน) o(๊ธฐํ) a(์ ์ฒด)
์ฐ์ฐ: +(์ถ๊ฐ) -(์ ๊ฑฐ) =(์ ํํ ์ค์ )
๊ถํ: r(4) ์ฝ๊ธฐ / w(2) ์ฐ๊ธฐ / x(1) ์คํ
X: ๋๋ ํฐ๋ฆฌ์ ๊ธฐ์กด์ ์คํ ๋นํธ๊ฐ ์๋ ํ์ผ์๋ง x ์ ์ฉ
์์
# ์คํฌ๋ฆฝํธ ์คํ ๊ถํ ๋ถ์ฌ
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
๋๋ ํฐ๋ฆฌ์์ ๋ณธ์ธ ์์ ๋ง ์ญ์ ๊ฐ๋ฅ
