chmod 셸 명령어는 파일 또는 폴더의 권한을 변경할 때 사용한다.
사용법
8진수 모드를 사용하거나 문자열 모드를 사용하여 권한을 변경할 수 있다.
# 8진수 모드의경우
chmod [옵션] [소유자권한][그룹권한][그외사용자권한] [파일또는폴더]
# 문자열 모드의 경우
chmod [옵션] [레퍼런스][연산자][권한] [파일또는폴더]
권한 확인
파일 또는 폴더의 권한은 rwx 로 표시되며 셸에서 ls -al 명령을 통해 확인할 수 있다.
맨 앞의 d 는 해당 항목이 파일인지 폴더인지를 나타내며 d 가 있으면 폴더이다.
[폴더여부][소유자권한][그룹권한][그외사용자권한]

권한은 다음과 같은 종류가 있다.
-
r: 읽기 권한 -
w: 쓰기 권한 -
x: 실행 권한
예를 들어, 어떤 폴더의 권한이 drwxrw-r-- 이라면,
소유자는 모든 권한(rwx)을 가지고, 그룹에 속한 사용자는 읽기와 쓰기(rw-)만 가능하며, 그 외의 사용자는 읽기(r--)만 가능하다.
8진수 모드
8진수 모드는 파일 또는 폴더의 권한을 8진수를 이용해 부여하는 방식이다.
chmod [소유자권한][그룹권한][그외사용자권한] [파일또는폴더]
| 8진수 | 권한 | rwx 표기 |
|---|---|---|
| 7 | 읽기, 쓰기, 실행 모두 가능 | rwx |
| 6 | 읽기, 쓰기만 가능 | rw- |
| 5 | 읽기, 실행만 가능 | r-x |
| 4 | 읽기만 가능 | r-- |
| 3 | 쓰기, 실행만 가능 | -wx |
| 2 | 쓰기만 가능 | -w- |
| 1 | 실행만 가능 | --x |
| 0 | 모든 권한 없음 | --- |
사용 예
예를 들어, test.txt 라는 파일의 권한을 rwxrw-r-- 로 설정하려면 다음과 같이 입력한다.
chmod 764 test.txt
문자열 모드
문자열 모드는 특정 문자열을 사용해 권한을 설정하는 방법이다.
chmod [옵션] [레퍼런스][연산자][권한] [파일또는폴더]
레퍼런스
레퍼런스는 어떤 사용자에게 권한을 부여하는지를 설정한다.
| 레퍼런스 | 사용자 유형 | 설명 |
|---|---|---|
| u | 소유자 | 파일 또는 폴더의 소유자 |
| g | 그룹 | 파일 또는 폴더의 그룹에 포함된 사용자 |
| o | 그 외 사용자 | 소유자도 아니고 그룹에 포함되지도 않은 사용자 |
| a | 모든 사용자 | 모든 사용자를 뜻하며, ugo 와 동일하다. |
연산자
| 연산자 | 설명 |
|---|---|
| + | 기존 권한에 권한 추가 |
| - | 기존 권한에서 권한 제거 |
| = | 지정한 권한으로 변경 |
사용 예
test.txt 파일의 권한이 rwxrw-r-- 이라면,
- 소유자의 실행 권한 삭제
chmod u-x test.txtrw-rw-r-- - 외부사용자에 쓰기, 실행 권한 부여
chmod o+wx test.txtrwx-rw-rwx - 모든 사용자에게 읽기 권한만 부여
chmod a=r test.txtr--r--r--
옵션
-R: 권한을 폴더의 하위 경로에도 모두 적용시킨다.
example_folder 내의 모든 파일 및 폴더의 권한을 rwxrwxrwx 로 설정.
chmod -R 777 example_folder