This lesson is only available in Korean for now.
Lesson 7 of 20

권한 — 누가 무엇을 할 수 있는가

rwx 아홉 글자와 sudo 의 무게

권한 — 누가 무엇을 할 수 있는가
모든 파일에는 주인과 세 종류의 열쇠가 있습니다.

지난 강 마지막에 /etc 안에 파일을 만들려다 거절당했습니다. 허가 거부(Permission denied). 왜일까요?

서버는 여러 사람이 함께 씁니다. 학교 사물함을 떠올려 보세요. 내 사물함은 내가 열 수 있고, 남의 사물함은 못 엽니다. 선생님(root)은 마스터키로 다 열 수 있고요. 리눅스는 이 규칙을 모든 파일 하나하나에 붙여 놓았습니다.

이 한 줄에 권한의 모든 정보가 들어 있습니다
bash Runs on my virtual Ubuntu server

맨 앞의 -rw-r--r-- 이 바로 권한입니다. 열 글자를 네 덩어리로 잘라 읽습니다.

-종류- 파일 · d 폴더 · l 링크
rw-주인(user)읽기·쓰기 가능, 실행 불가
r--그룹(group)읽기만
r--남들(other)읽기만
r읽기 (read)내용을 볼 수 있다 = 4
w쓰기 (write)고치고 지울 수 있다 = 2
x실행 (execute)프로그램으로 돌릴 수 있다 = 1

그리고 jit jit 두 낱말은 이 파일의 주인과 그룹입니다.

🎮 권한 계산기

체크박스를 눌러 보면서 rwx 와 숫자가 어떻게 대응하는지 몸으로 익혀 보세요. 아래쪽에서는 "이 사람이 이 파일로 무엇을 할 수 있나"를 판정해 줍니다.

권한 실험실 — rwx ↔ 숫자, 그리고 누가 무엇을 할 수 있나
Loading…

chmod — 권한 바꾸기

두 가지 방법이 있습니다. 숫자로 통째로, 또는 기호로 조금씩.

실행 권한이 없어서 거절당합니다
bash Runs on my virtual Ubuntu server
+x 로 실행 권한을 주면 돌아갑니다
bash Runs on my virtual Ubuntu server

숫자 방식도 해 봅시다. 자주 쓰는 세 가지 조합만 알면 대부분 해결됩니다.

644보통 파일주인만 고칠 수 있고, 남은 읽기만
755실행 파일 · 폴더주인은 다 되고, 남은 읽고 실행만
600비밀 파일주인만 읽고 쓰기. 남은 아무것도 못 함
600 과 644 를 오가며 아홉 글자가 어떻게 변하는지 보세요
bash Runs on my virtual Ubuntu server

chown — 주인 바꾸기

주인을 바꾸는 것은 root 만 할 수 있습니다. 내 파일을 남에게 줘 버리는 건 되지만, 남의 파일을 내 것으로 뺏어 오는 건 안 되니까요.

웹서버가 쓰는 폴더는 웹서버 사용자(www-data)의 것이어야 합니다
bash Runs on my virtual Ubuntu server

sudo — 잠깐만 관리자 되기

sudo 는 superuser do, "관리자 자격으로 실행해 줘"입니다. 매번 root 로 로그인하지 않고 필요한 순간에만 힘을 빌리는 것이 핵심이에요.

sudo 를 붙인 그 명령 하나만 root 로 실행됩니다
bash Runs on my virtual Ubuntu server
🤔 Check yourself
-rwxr-xr-- 를 숫자로 나타내면?
🤔 Check yourself
chmod 600 secret.txt 를 한 뒤, 같은 서버의 다른 사용자가 이 파일을 열면?
🤔 Check yourself
서버 작업을 항상 root 로 하지 않고 필요할 때만 sudo 를 쓰는 이유는?