๋ชฉ์ฐจ
- Permission denied, ์ ์ด๋ฐ ์ค๋ฅ๊ฐ ๋๋ ๊ฑธ๊น?
- ๋ฆฌ๋ ์ค ํ์ผ ๊ถํ์ ๊ตฌ์กฐ
- ๊ถํ์ ์ซ์๋ก ํํํ๋ ๋ฐฉ๋ฒ
- chmod – ํ์ผ ๊ถํ ๋ณ๊ฒฝํ๊ธฐ
- chown – ํ์ผ ์์ ์ ๋ณ๊ฒฝํ๊ธฐ
- 777 ๊ถํ์ด ์ํํ ์ด์
- ์ค์ ์์ ์์ฃผ ์ฐ๋ ๊ถํ ์ค์ ๋ชจ์
- ์ ๋ฆฌ ๋ฐ ๋ค์ ๋จ๊ณ
1. Permission denied, ์ ์ด๋ฐ ์ค๋ฅ๊ฐ ๋๋ ๊ฑธ๊น?
๋ฆฌ๋ ์ค ์๋ฒ๋ฅผ ๋ค๋ฃจ๋ค ๋ณด๋ฉด Permission denied ์ค๋ฅ๋ฅผ ์์ฃผ ๋ง๋๊ฒ ๋ฉ๋๋ค. ํ์ผ์ ์ฝ์ผ๋ ค ํ๊ฑฐ๋, ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ฑฐ๋, ํน์ ํด๋์ ํ์ผ์ ์์ฑํ๋ ค ํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ํ๋ฉ๋๋ค.
์ด ์ค๋ฅ์ ์์ธ์ ๋๋ถ๋ถ ํ์ผ ๊ถํ ์ค์ ๋๋ฌธ์ ๋๋ค. ๋ฆฌ๋ ์ค๋ ํ์ผ๊ณผ ํด๋๋ง๋ค ๋๊ฐ ์ฝ๊ณ , ์ฐ๊ณ , ์คํํ ์ ์๋์ง๋ฅผ ์ธ๋ฐํ๊ฒ ์ ์ดํฉ๋๋ค. ์ด ๊ฐ๋ ์ ์ดํดํ๋ฉด Permission denied ์ค๋ฅ๋ฅผ ์ค์ค๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค.
2. ๋ฆฌ๋ ์ค ํ์ผ ๊ถํ์ ๊ตฌ์กฐ
ls -al ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ํ์ผ ๋ชฉ๋ก ์์ -rwxr-xr-- 1 ubuntu www-data 1234 May 25 14:00 index.html ์ฒ๋ผ ๋ฌธ์์ด์ด ํ์๋ฉ๋๋ค. ๋งจ ์์ -rwxr-xr-- ๋ถ๋ถ์ด ๋ฐ๋ก ๊ถํ ์ ๋ณด์ ๋๋ค.
์ฒซ ๋ฒ์งธ ๋ฌธ์๋ ํ์ผ ์ข ๋ฅ๋ฅผ ๋ํ๋ ๋๋ค. -๋ ์ผ๋ฐ ํ์ผ, d๋ ๋๋ ํ ๋ฆฌ, l์ ์ฌ๋ณผ๋ฆญ ๋งํฌ์ ๋๋ค.
๋๋จธ์ง 9์๋ฆฌ๋ 3์๋ฆฌ์ฉ ์ธ ๊ทธ๋ฃน์ผ๋ก ๋๋ฉ๋๋ค.
| 2~4๋ฒ์งธ (rwx) | ์์ ์(Owner) ๊ถํ | ํ์ผ์ ๋ง๋ ์ฌ๋ |
| 5~7๋ฒ์งธ (r-x) | ๊ทธ๋ฃน(Group) ๊ถํ | ๊ฐ์ ๊ทธ๋ฃน์ ์ํ ์ฌ๋๋ค |
| 8~10๋ฒ์งธ (r--) | ๊ธฐํ(Other) ๊ถํ | ๊ทธ ์ธ ๋ชจ๋ ์ฌ๋ |
๊ฐ ์๋ฆฌ์ ๋ฌธ์ ์๋ฏธ๋ r์ ์ฝ๊ธฐ, w๋ ์ฐ๊ธฐ, x๋ ์คํ, -๋ ํด๋น ๊ถํ ์์์ ์๋ฏธํฉ๋๋ค.
๋ฐ๋ผ์ rwxr-xr--๋ ์์ ์๋ ์ฝ๊ธฐ·์ฐ๊ธฐ·์คํ ๋ชจ๋ ๊ฐ๋ฅ, ๊ทธ๋ฃน์ ์ฝ๊ธฐ·์คํ๋ง ๊ฐ๋ฅ, ๊ธฐํ ์ฌ์ฉ์๋ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ์ด๋ผ๋ ์๋ฏธ์ ๋๋ค.
3. ๊ถํ์ ์ซ์๋ก ํํํ๋ ๋ฐฉ๋ฒ
๋ฆฌ๋ ์ค ๊ถํ์ ์ซ์(8์ง์)๋ก๋ ํํํฉ๋๋ค. r=4, w=2, x=1๋ก ๊ณ์ฐํ๋ฉฐ, ์ธ ๊ฐ์ ๋ํด ๊ถํ์ ํํํฉ๋๋ค.
| ์ฝ๊ธฐ+์ฐ๊ธฐ+์คํ | rwx | 7 |
| ์ฝ๊ธฐ+์ฐ๊ธฐ | rw- | 6 |
| ์ฝ๊ธฐ+์คํ | r-x | 5 |
| ์ฝ๊ธฐ๋ง | r-- | 4 |
| ์ฐ๊ธฐ๋ง | -w- | 2 |
| ์คํ๋ง | --x | 1 |
| ๊ถํ ์์ | --- | 0 |
์ธ ๊ทธ๋ฃน(์์ ์, ๊ทธ๋ฃน, ๊ธฐํ)์ ์ซ์๋ฅผ ์ด์ด ๋ถ์ด๋ฉด ์ต์ข ๊ถํ์ด ๋ฉ๋๋ค. 755๋ ์์ ์ rwx(7), ๊ทธ๋ฃน r-x(5), ๊ธฐํ r-x(5)๋ฅผ ์๋ฏธํ๊ณ , 644๋ ์์ ์ rw-(6), ๊ทธ๋ฃน r--(4), ๊ธฐํ r--(4)๋ฅผ ์๋ฏธํฉ๋๋ค.
4. chmod – ํ์ผ ๊ถํ ๋ณ๊ฒฝํ๊ธฐ
**chmod(change mode)**๋ ํ์ผ์ด๋ ํด๋์ ๊ถํ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ธฐ๋ณธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
chmod ๊ถํ์ซ์ ํ์ผ๋ช
index.html ํ์ผ์ ์์ ์๋ง ์ฝ๊ณ ์ธ ์ ์๊ฒ ์ค์ ํ๋ ์์์ ๋๋ค.
chmod 644 index.html
์คํฌ๋ฆฝํธ ํ์ผ์ ์คํ ๊ถํ์ ์ถ๊ฐํ ๋์ ๋๋ค.
chmod +x script.sh
ํด๋ ๋ด ๋ชจ๋ ํ์ผ์ ์ฌ๊ท์ ์ผ๋ก ๊ถํ์ ์ ์ฉํ๋ ค๋ฉด -R ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
chmod -R 755 /var/www/html
5. chown – ํ์ผ ์์ ์ ๋ณ๊ฒฝํ๊ธฐ
**chown(change owner)**์ ํ์ผ์ด๋ ํด๋์ ์์ ์์ ๊ทธ๋ฃน์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ธฐ๋ณธ ํํ์ ๋๋ค.
sudo chown ์์ ์:๊ทธ๋ฃน ํ์ผ๋ช
index.html์ ์์ ์๋ฅผ ubuntu, ๊ทธ๋ฃน์ www-data๋ก ๋ณ๊ฒฝํ๋ ์์์ ๋๋ค.
sudo chown ubuntu:www-data index.html
ํด๋ ์ ์ฒด๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ณ๊ฒฝํ ๋๋ -R ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
sudo chown -R ubuntu:www-data /var/www/html
Nginx๋ ๊ธฐ๋ณธ์ ์ผ๋ก www-data ์ฌ์ฉ์ ๊ถํ์ผ๋ก ์คํ๋ฉ๋๋ค. ์น ํ์ผ์ ๊ทธ๋ฃน์ www-data๋ก ์ค์ ํ๋ฉด Nginx๊ฐ ํ์ผ์ ์ฝ์ ์ ์๊ฒ ๋ฉ๋๋ค.
6. 777 ๊ถํ์ด ์ํํ ์ด์
๊ฒ์ํ๋ค ๋ณด๋ฉด "Permission denied ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ"์ผ๋ก chmod 777์ ์ถ์ฒํ๋ ๊ธ์ ์ข ์ข ๋ณผ ์ ์์ต๋๋ค. 777์ ์์ ์, ๊ทธ๋ฃน, ๊ธฐํ ๋ชจ๋์๊ฒ ์ฝ๊ธฐ·์ฐ๊ธฐ·์คํ ๊ถํ์ ๋ถ์ฌํ๋ ์ค์ ์ ๋๋ค.
๋ฌธ์ ๋ "๊ธฐํ(other)"์ ํด๋นํ๋ ๋ชจ๋ ์ฌ๋์ด ํ์ผ์ ์์ ํ๊ณ ์คํํ ์ ์๋ค๋ ์ ์ ๋๋ค. ์๋ฒ์ ์ ์ฑ ์ฝ๋๋ฅผ ์ฌ๊ฑฐ๋, ์ค์ํ ํ์ผ์ ๋ฎ์ด์ฐ๊ฑฐ๋, ์ค์ ํ์ผ์ ๋ณ์กฐํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ง๋๋ค.
Permission denied ์ค๋ฅ๋ฅผ ๋ง๋ฌ์ ๋ ์ฌ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ 777์ ์ฃผ๋ ๊ฒ์ด ์๋๋ผ, ํ์ํ ์ฌ์ฉ์์๊ฒ๋ง ์ต์ํ์ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ ๋๋ค. ์น ํ์ผ์ ์ฌ๋ฐ๋ฅธ ๊ถ์ฅ ์ค์ ์ ๋๋ ํ ๋ฆฌ 755, ํ์ผ 644์ ๋๋ค.
7. ์ค์ ์์ ์์ฃผ ์ฐ๋ ๊ถํ ์ค์ ๋ชจ์
์น ์๋ฒ ํ์ผ์ ๊ถํ ํ์ค ์ค์ ์ ์ ์ฉํ ๋, ๋๋ ํ ๋ฆฌ์๋ 755, ํ์ผ์๋ 644๋ฅผ ๊ฐ๊ฐ ์ ์ฉํฉ๋๋ค.
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
SSH ๊ฐ์ธํค ํ์ผ์ ๋ฐ๋์ ์์ ์๋ง ์ฝ์ ์ ์์ด์ผ ํฉ๋๋ค.
chmod 600 ~/.ssh/id_rsa
chmod 700 ~/.ssh
์คํฌ๋ฆฝํธ ํ์ผ์ ์คํ ๊ถํ์ ๋ถ์ฌํ ๋์ ๋๋ค.
chmod +x /home/ubuntu/scripts/backup.sh
8. ์ ๋ฆฌ ๋ฐ ๋ค์ ๋จ๊ณ
์ค๋ ๋ฐฐ์ด ํต์ฌ์ ์ ๋ฆฌํฉ๋๋ค.
- ๋ฆฌ๋ ์ค ๊ถํ์ ์์ ์, ๊ทธ๋ฃน, ๊ธฐํ ์ธ ๊ทธ๋ฃน์ ๋ํด ์ฝ๊ธฐ(r=4), ์ฐ๊ธฐ(w=2), ์คํ(x=1) ๊ถํ์ ๊ฐ๊ฐ ์ค์ ํฉ๋๋ค.
- chmod๋ก ๊ถํ์ ๋ณ๊ฒฝํ๊ณ , chown์ผ๋ก ์์ ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
- 777 ๊ถํ์ ๋ณด์์ ๋งค์ฐ ์ํํ๋ฉฐ, ์น ๋๋ ํ ๋ฆฌ์๋ ์ ๋ ์ฌ์ฉํ๋ฉด ์ ๋ฉ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋๋ ํ ๋ฆฌ๋ 755, ํ์ผ์ 644, SSH ํค๋ 600์ด ๊ถ์ฅ ์ค์ ์ ๋๋ค.
๋ค์ ๊ธ์์๋ ์๋ฒ ํ์์กด๊ณผ ์๊ฐ ๋๊ธฐํ ๋ฌธ์ ๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.