๋ณด์ ์ทจ์ฝ์ ์กฐ์น๋ฅผ ์ํด ํน์ ๋๋ ํ ๋ฆฌ ํ์์ ํ์ผ ๊ถํ์ ์ผ๊ด ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค.
chmod -R๋ก ๊ธฐ๋ณธ ๊ถํ์ ์ก๊ณ ,find๋ช ๋ น์ด๋ฅผ ์ด์ฉํด ์ค์ ํ์ผ(xml, properties)์ด๋ ๋ก๊ทธ ํ์ผ์ ์คํ ๊ถํ์ ์ ๊ฑฐํ์ฌ ๋ณด์์ ๊ฐํํฉ๋๋ค.
0. ๋ฐฐ๊ฒฝ ๋ฐ ์๋๋ฆฌ์ค (Context)
์ผ๋ฐ์ ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ (WAS) ๋๋ ํ ๋ฆฌ์ ๋ณด์ ๊ถ์ฅ ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋๋ ํ ๋ฆฌ:
750(์์ ์: rwx, ๊ทธ๋ฃน: r-x, ๊ธฐํ: ---) - ์ด๋(x) ๊ฐ๋ฅํด์ผ ํจ - ํ์ผ:
640(์์ ์: rw-, ๊ทธ๋ฃน: r--, ๊ธฐํ: ---) - ์คํ(x) ๊ถํ ์ ๊ฑฐ
๋จ์ํ chmod -R 750์ ํ๋ฉด ๋ชจ๋ ํ์ผ์ ์คํ ๊ถํ์ด ๋ถ์ด๋ฒ๋ฆฌ๋ฏ๋ก, ํน์ ํ์ฅ์ ํ์ผ๋ค์ ์ฐพ์ 640์ผ๋ก ๋ค์ ๋ณ๊ฒฝํด์ค์ผ ํฉ๋๋ค.
Test Environment
- OS: CentOS 7 (3.10.0-957.el7.x86_64)
1. 1๋จ๊ณ: ์์ ๊ถ ๋ฐ ๊ธฐ๋ณธ ๊ถํ ์ค์
๋จผ์ ๋์ ๋๋ ํ ๋ฆฌ ํ์์ ๋ชจ๋ ํ์ผ/ํด๋์ ์์ ๊ถ์ ๋ง์ถ๊ณ , ๋๋ ํ ๋ฆฌ ๊ธฐ์ค ๊ถํ(750)์ ์ผ๊ด ์ ์ฉํฉ๋๋ค.
# 1. ์์ ๊ถ ๋ณ๊ฒฝ (ํ์ ํฌํจ)
chown -R wasadm:wasadm ./*
# 2. ๊ธฐ๋ณธ ๊ถํ ์ค์ (์ผ๋จ ๋ชจ๋ 750์ผ๋ก ์ค์ )
# ์ฃผ์: ์ด ์ํ์์๋ ์ผ๋ฐ ํ
์คํธ ํ์ผ๋ ์คํ ๊ถํ(x)์ ๊ฐ๊ฒ ๋จ
chmod -R 750 ./*
2. 2๋จ๊ณ: ํน์ ํ์ฅ์ ๊ถํ ๊ฐํ (์คํ ๊ถํ ์ ๊ฑฐ)
find ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ํ์ผ์ด๋ ๋ก๊ทธ ํ์ผ ๋ฑ ์คํ๋ ํ์๊ฐ ์๋ ํ์ผ๋ค์ ์ฐพ์ ๊ถํ์ 640์ผ๋ก ๋ฎ์ถฅ๋๋ค.
๋ช ๋ น์ด ๊ตฌ๋ฌธ
# ๊ตฌ๋ฌธ: find [๊ฒฝ๋ก] -name "[ํจํด]" -exec chmod [๊ถํ] {} \;
# XML ์ค์ ํ์ผ
find . -name "*.xml" -exec chmod 640 {} \;
# ๋ก๊ทธ ํ์ผ
find . -name "*.log" -exec chmod 640 {} \;
# ํ๋กํผํฐ ํ์ผ
find . -name "*.properties" -exec chmod 640 {} \;
# ์ ์คํฌ๋ฆฝํธ ์ ์ธํ ๋ชจ๋ ์ผ๋ฐ ํ์ผ (๊ณ ๊ธ)
# find . -type f ! -name "*.sh" -exec chmod 640 {} \;
*.xml๊ณผ ๊ฐ์ด ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํ ๋๋ ๋ฐ๋์ ๋ฐ์ดํ(" ")๋ก ๊ฐ์ธ์ฃผ์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ์ xml ํ์ผ์ด ๋ง์ ๊ฒฝ์ฐ ์์ด ๋จผ์ ํด์ํด๋ฒ๋ ค "paths must precede expression" ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
3. Tip: ๋๋ ํ์ผ ์ฒ๋ฆฌ ์ ์ฑ๋ฅ ์ต์ ํ
ํ์ผ์ด ์๋ง ๊ฐ ์ด์์ผ ๊ฒฝ์ฐ -exec ... \; ๋ฐฉ์์ ํ์ผ ํ๋๋ง๋ค ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ฏ๋ก ๋๋ฆฝ๋๋ค. xargs๋ฅผ ์ฌ์ฉํ๋ฉด ํจ์ฌ ๋น ๋ฆ
๋๋ค.
# xargs๋ฅผ ์ด์ฉํ ๊ณ ์ ์ฒ๋ฆฌ ๋ฐฉ์
find . -name "*.log" -print0 | xargs -0 chmod 640
4. ๊ฒ์ฆ (Verification)
์์
์๋ฃ ํ ls -l ๋ช
๋ น์ด๋ก ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ๊ถํ์ด ์๋ํ ๋๋ก ๋ถ๋ฆฌ๋์๋์ง ํ์ธํฉ๋๋ค.
drwxr-x--- 2 wasadm wasadm 4096 ... logs/ (750, ๋๋ ํ ๋ฆฌ)
-rw-r----- 1 wasadm wasadm 1024 ... server.xml (640, ํ์ผ)
-rwxr-x--- 1 wasadm wasadm 512 ... start.sh (750, ์คํฌ๋ฆฝํธ)