1. 기능

파일이나 디렉토리의 퍼미션(허가권)을 변경하거나 지정

2. 문법

chmod [옵션] (u|g|o|a)(+|-)(r|w|x) files directory...

3. 사용방법 및 정보

파일 퍼미션은 파일이나 디렉토리의 사용을 허가하거나 제한하는 데 사용하는 허가권을 말한다.

소유자(user), 그룹(group), 다른 사용자(others)에 대한 각각의 허가권은 읽기 권한(r), 쓰기 권한(w), 실행 권한(x)으로 구성되며 해당 권한이 주어지지 않으면, - 로 나타난다.

                       -rwxrwxrwx
                    user┛  ┃  ┗ other
                             group

$ls  -l  test.sh
_rwx--x--x   1  tester   testgroup  45   Nov 06   17:03   test.sh

해당  파일 (test.sh)에 대하여 파일 소유자 tester는 읽고, 쓰고, 실행할 수  있으며, 그룹 testgroup에 속한 사용자와 그 외의 다른 사용자들은 해당 파일을 실행만 할 수 있다.

파일 및 디렉토리에 대한 퍼미션을 변경할 때는, 문자열을 이용한 상대 모드와 8진수 체계를 이용한 절대 모드 방법을 이용할 수 있다.

  • 상대모드

    ACCESS CLASS

    u : user의 퍼미션
    g : group의 퍼미션
    o : other의 퍼미션
    a : user + group + other

    OPERATOR

    + : 퍼미션 추가
    _ : 퍼미션 삭제
    = : 퍼미션을 일치시킴

    ACCESS TYPE

    r : 읽기 퍼미션
    w : 쓰기 퍼미션
    x : 실행 퍼미션 (디렉토리는 탐색 퍼미션)
    s : SUID, SGID
    t : sticky bit
  • 절대모드

    각각의 퍼미션 설정을 아래와 같은 값의 합계로 지정한다.

    400 : owner의 읽기
    200 : owner의 쓰기
    100 : owner의 실행
    40 : group의 읽기
    20 : group의 쓰기
    10 : group의 실행
    4 : other의 읽기
    2 : other의 쓰기
    1 : other의 실행

    퍼미션 설정이 _rwx--x_x 인 파일의 경우를 절대모드로 나타내면 아래와 같다.

    rwx : 600
    --x : 10
    --x : 1

    따라서, 퍼미션은 711로 표시한다.

Ex)

[root@ls ]# ls -l miscellaneous
-rw-rw-r--  1 linuxone root 41747 Mar  8 22:34 miscellaneous
[root@ls ]# chmod g-w miscellaneous

miscellaneous 파일의 소유 그룹에서 쓰기(write) 퍼미션을 제거한다.

[root@ls ]# chmod u+x,g-w miscellaneous
[root@ls ]# ls -l miscellaneous
-rwxr--r--  1 linuxone root 41747 Mar  8 22:34 miscellaneous

miscellaneous 파일의 소유자에게는 실행(execute) 퍼미션을 추가, 소유 그룹에게서는 쓰기(write) 퍼미션을 제거해준다.