공든탑앱 열기

chmod

리눅스마스터 2급 · 파일 시스템 관련 명령어 · 약 12분

쉽게 말하면

파일의 허락표(권한)를 바꾸는 명령이에요. 숫자로 한꺼번에 정하거나(755), '주인에게 실행 추가'처럼 한 칸만 고칠 수 있어요. 숫자는 읽기 4, 고치기 2, 실행 1을 더한 값이에요.

시험용 정의

chmod(change mode)는 파일·디렉터리의 권한을 바꾸는 명령이다. 숫자 모드(755처럼 8진수)와 기호 모드(u+x, g-w, o=r처럼 누구·연산·권한)로 쓸 수 있다. 소유자나 root만 바꿀 수 있다.

비유로 이해하기

숫자 모드는 "전체 규칙표를 새로 써서 교체", 기호 모드는 "규칙표의 한 칸만 고쳐 쓰기"다.

자세히

그림으로 보기: 권한 문자열과 숫자

ls -l 의 권한 -rwxr-xr--
-
종류
rwx
소유자
r-x
그룹
r--
기타
숫자로(r=4, w=2, x=1)
4+2+1 = 7
소유자
4+0+1 = 5
그룹
4+0+0 = 4
기타
chmod 754 파일 = chmod u=rwx,g=rx,o=r 파일

시험에 이렇게 나와요

확인 문제

Q1. chmod 754 run.sh를 실행했다. 그룹 사용자가 할 수 있는 것은?

  1. 읽기·쓰기·실행
  2. 읽기만
  3. 실행만
  4. 읽기·실행
정답 보기

4번 읽기·실행

754를 한 자리씩 보면 소유자 7(rwx), 그룹 5(r-x), 기타 4(r--)다. 5 = 4(r) + 1(x)라서 그룹은 읽기와 실행을 할 수 있다.

Q2. 현재 권한이 rw-r--r--인 파일에 chmod g+w,o-r을 적용한 결과는?

  1. 620
  2. 640
  3. 660
  4. 664
정답 보기

3번 660

rw- rw- --- = 660.

Q3. chmod 751과 같은 결과를 내는 기호 모드는?

  1. u=rwx,g=rw,o=x
  2. u=rwx,g=rx,o=x
  3. a=rwx,o-rw
  4. u+rwx,g+rx,o+x
정답 보기

2번 u=rwx,g=rx,o=x

7=rwx, 5=rx, 1=x. + 연산은 기존 권한에 더하므로 같은 결과를 보장하지 않는다.

Q4. 디렉터리와 그 안의 모든 파일 권한을 한 번에 바꾸는 chmod 옵션은?

  1. -a
  2. -R
  3. -f
  4. -r
정답 보기

2번 -R

-R(대문자)이다. 하위 디렉터리와 파일까지 한꺼번에 바꾼다(재귀). 소문자 -r은 옵션이 아니라 '읽기 권한 빼기'로 읽힌다.

Q5. 권한이 -rw-rw-r--인 report에 chmod g=r report를 실행한 결과는?

  1. -rw-rw-r--
  2. -r--r--r--
  3. -rw-r--r--
  4. -rw-rwxr--
정답 보기

3번 -rw-r--r--

g= 는 그룹 권한을 r 하나로 교체. 소유자·기타는 그대로.

헷갈리기 쉬운 O·X

파일의 그룹에 속한 사용자는 그 파일의 권한을 chmod로 바꿀 수 있다.

정답 보기

X 소유자와 root만 가능.

chmod 644 file과 chmod u=rw,go=r file은 같은 결과다.

정답 보기

O 맞는 설명이다.

chmod +x file처럼 대상을 생략하면 소유자에게만 적용된다.

정답 보기

X 생략하면 모두(a)에 적용된다(umask에 걸리는 비트는 제외).

함께 보면 좋은 개념