리눅스 chmod 명령어 사용법

리눅스에서 파일과 디렉터리의 사용 권한을 변경하는 chmod 명령어에 대해서 알아보자.


chmod 란

리눅스에서 파일 사용 권한을 변경하는 명령어로써 change mode의 약어이다. 파일과 디렉터리의 사용권한을 변경할 때 사용하며 8진법 모드와 문자열 모드로 권한을 설정할 수 있다. 대부분 8진법 모드가 간단해서 널리 사용된다.


사용법

chmod 명령어의 기본 형태는 아래와 같다. 여기서 옵션과 모드에 대해서 알아보자.

$ chmod [옵션] [모드] [파일]

옵션

옵션에는 아래와 같이 사용할 수 있다.

  • R: 하위에 위치한 파일과 디렉터리 권한을 변경한다.
  • v: 현재 실행되고 있는 모든 파일들을 나열한다.
  • c: 실제로 변경된 파일들만 자세하게 출력한다.

문자열 모드

chmod 명령어는 문자를 통해 권한을 부여할 수 있다. 간단하게 사용할 수 있는 8진법 모드보다 더 직관적이다.

$ chmod [레퍼런스] [연산자] [모드] [대상이름]

레퍼런스는 아래와 같이 구분된다.

  • u: 사용자(for owner), 파일의 소유자를 말한다.
  • g: 그룹(for group), 해당 파일의 그룹 멤버인 사용자
  • o: 다른 사람들(for others), 그 파일의 소유자 또는 그룹의 멤버가 아닌 사용자
  • a: 위의 셋 모두(for all) 포함, ugo와 동일하다.

연산자는 아래와 같이 구분할 수 있다.

  • +: 해당 권한을 추가한다.
  • -: 해당 권한을 제거한다.
  • =: 해당 권한을 지정한 권한으로 변경한다.

모드는 아래와 같이 구분할 수 있다.

  • r: 읽기(read), 파일을 읽거나 디렉터리 안의 내용들을 볼 수 있다.
  • w: 쓰기(write), 파일이나 디렉터리에 쓴다.
  • x: 실행(execute), 파일을 실행할 수 있다.

8진법 모드

흔하게 볼 수 있는 8진수를 사용한 권한 설정 방법이다. 직관적이지는 않지만 사용법은 간단하다.

$ chmod [옵션] [8진법수] [대상이름] 

파일의 권한을 보면 -rwxrwxrwx와 같이 표기되는데, 맨 앞의 표기는 디렉터리는 d, 심볼릭 링크와 같은 형태는 l로 표기되는 ‘파일 분류 타입’ 이므로 생략하고, 이어지는 9개 문자를 3개로 나누어 각각 user, group, other의 권한으로 생각하면 된다.

파일 읽기 권한인 r은 숫자 4, 파일 쓰기 권한인 w는 2 그리고 파일 실행 권한은 x는 1로 매핑하며, 이 문자들을 더한 값으로 권한을 지정할 수 있다. 예를 들면 -rwxr-xr-x의 경우 755 와 매핑된다.


예시

이제 위에서 살펴본 방법들로 권한을 부여하는 예제들을 살펴보자.

# user 에게 test 파일에 대한 읽기, 쓰기 권한 부여
$ chmod u+rw test


# user 에게 test 파일에 대한 쓰기 권한만 부여
# group 에게 test 파일에 대한 읽기 권한 부여
$ chmod u=w, g+r test


# user 에게 읽기, 쓰기, 실행 권한 부여
# group, other에게 읽기, 실행 권한 부여
$ chmod 755 test

댓글을 남기시려면 Github 로그인을 해주세요 :D


Hi, there!

Thanks for visiting my blog.
Please let me know if there are any mistakes in my post.