📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
리눅스[Linux] | 2018. 4. 16. 21:27

[Linux] 리눅스 chmod 명령어 - 파일 허가권 변경

chmod 명령어

chmod

chmod는 파일 또는 디렉터리의 허가 권한(permission)을 변경하는 명령어 입니다.

chmod 명령어는 root 사용자 또는 파일의 소유자만 실행할 수 있습니다.

명령어 실행은 다음과 같이 수행할 수 있습니다.

chmod [옵션] [권한] [파일명]

옵션은 다음과 같습니다.

옵션 설명
-R, --recursive 디렉터리와 해당 디렉터리의 서브 디렉터디까지 모두 적용합니다.
-v, --verbose 실행 과정을 자세히 출력합니다.
-C, --changes 정상적으로 변경된 파일들만 -v 옵션을 적용하여 보여줍니다.
-f, --silent, --quite 불필요한 메시지를 보여주지 않고 간략하게 보여줍니다.

허가권에 대한 개념 및 자세한 사항은 글의 맨 아래 허가권에 대한 링크를 참고해 주면 됩니다.

허가권(permission)

허가권은 파일에 대해 읽기, 쓰기, 실행 에 대한 권한을 의미합니다.

파일의 허가권은 ls -l 명령어를 통해 알 수 있습니다.

ls -l 명령어로 파일의 내용을 출력했을 때 다음 그림의 두 번째 허가 권한 부분이 파일의 허가권입니다.

허가권은 위 예시에 rw-rw-r-- 와 같이 9글자로 표현되는데 각각의 행동들은 영어 단어의 대표 글자를 각각 따서 Read(읽기), Write(쓰기), eXcute(실행) 이란 뜻으로 rwx 와 같이 사용합니다. 9글자인 이유는 맨 앞부터 세글자 단위로 파일 소유자/그룹 소유자/그 밖의 사용자 의 권한을 모두 표현하기 때문입니다.

또한 읽기, 쓰기, 실행 권한이 없는 것을 - (마이너스) 으로 표현합니다.

허가권 표현

허가권한을 표현하는 방법에는 절대 모드 지정 방법상대 모드 지정 방법이 있습니다.

절대 모드 지정 방법

절대모드 지정 방법은 사용자(User), 그룹 소유자(Group), 그 밖의 다른 사용자(Other) 에 대해 9글자 8진수로 권한을 표현하거나 rwx- 로 표현하는 방법입니다. 쉽게 말하면 절대 모드는 사용자, 그룹, 그밖 사용자의 권한을 한꺼번에 지정하는 방식입니다.

소유자(User) 그룹(Group) 그 밖의 사용자(Other)
읽기 쓰기 실행 읽기 쓰기 실행 읽기 쓰기 실행
r w x r w x r w x
4 2 1 4 2 1 4 2 1

예를 들어 소유자는 읽고 쓰기만 가능, 소유 그룹은 실행만 가능, 다른 사용자들은 읽고 쓰고 실행까지 가능하게 하기 위해서는 다음과 같이 표현 가능합니다.

chmod rw---x-rwx [파일명] #rwx 로 표현했을 때
chomd 617 [파일명] #8진수로 표현했을 때

상대 모드 지정 방법

상대 모드 지정 방법은 절대모드 지정 방법과는 다르게 특정 그룹에 대한 권한만을 변경할 수 있습니다.

접근 그룹 설명 연산자 권한
u 소유자 + 권한 추가 r 읽기
g 소유 그룹 - 권한 제거 w 쓰기
o 그 밖의 사용자 = 권한 유지 x 실행
a 모두 s set UID 또는 set GID

예를 들어 특정 파일에 대해 상대 모드로 권한을 변경하는 방법은 다음과 같습니다.

chmod a+x [파일]  #해당 파일의 소유자, 그룹, 기타 사용자에 대해 실행 권한을 추가
chmod u-rw [파일]  #해당 파일의 소유자에게 읽고 쓰기 권한 제거

참고글

[Linux] 리눅스 파일 및 디렉터리 소유권, 허가권, 파일 유형

[Linux] 리눅스 chown 명령어 - 파일 소유자 변경

[Linux] 리눅스 chgrp 명령어 - 파일 소유 그룹 변경

도로락

도로락

Writer

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그