Linux

Linux - 허가권 설정 명령어 : chmod

j9m 2022. 10. 10. 19:20
반응형

허가권 설정 명령어 : chmod

파일이나 디렉터리에 접근할 수 있는 허가권을 설정하는 명령이다. chmod는 알파벳 기호를 사용하는 문자 모드와 8진수의 값을 사용하는 숫자 모드로 지정한다. 문자 모드에서 사용하는 기호는 권한, 사용자, 설정 등 3가지로 나눌 수 있다. 권한의 표시는 r, w, x를 사용하고, 사용자의 지정은 u, g, o, a를 사용한다. 마지막으로 설정 기호는 +, -, =을 사용한다. u는 파일 소유자의 접근 권한을 지정할 때 사용하고, o는 다른 사용자들에 대한 접근 권한을 지정할 때 사용한다. a는 all의 약자로 파일 소유자, 그룹, 다른 모든 사용자를 포함하여 접근 권한을 지정할 때 사용한다.

 

chmod 옵션

chmod [option] mode file(s)
옵션 설명
-R 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한을 변경한다.(--recursive)
-c 변경된 정보를 출력해준다.(--changes)
-f 중요한 오류 메시지가 아니면 출력하지 않는다.(--silent, --quite)
-v 명령 진행 결과에 대한 정보를 자세히 출력한다.(--verbose)
-version 명령어의 버전 정보를 출력한다.

사용 예

① 모든 사용자에게 모든 권한을 준다. 'chmod a+rwx aa.txt', 'chmod 777 aa.txt'와 같다.

chmod ugo+rwx aa.txt

 

② aa.txt라는 파일에 대해 소유자는 읽기, 쓰기, 실행이 가능하고 그룹 및 다른 사용자는 읽기와 실행만 가능하게 설정한다.

chmod 755 aa.txt

 

③ 현재 디렉터리 안의 모든 파일을 다른 사용자가 읽기 및 쓰기 권한의 사용할 수 없도록 설정한다. 'chmod o-rw *'와 같다.

chmod o-r,o-w *

 

④ .txt로 끝나는 파일들에 대해 모든 사용자가 읽을 수 있도록 설정한다.

chmod a+r *.txt

 

⑤ /etc/fstab라는 파일을 다른 사용자(other)는 읽을 수만 있도록 설정한다. = 기호는 기존 권한을 초기화한 후에 지정한 권한만 설정할 때 사용한다. 참고로 사용자(user)나 그룹(group)은 영향 없이 기존의 허가권이 그대로 유지된다.

chmod o=r /etc/fstab

 

⑥ 하위 디렉터리를 포함하여 현재 디렉터리의 모든 파일에 대해 그룹 및 다른 사용자가 접근할 수 없도록 설정한다.

chmod -R go-rwx

 

⑦ a.txt 파일에 어떠한 권한도 설정하지 않는다. 'chmod 0 a.txt'와 같다.

chmod a= a.txt

 

⑧ 'chmod 066 a.txt'과 같은 설정으로 소유자에게는 어떠한 권한도 설정하지 않고, 그룹 및 다른 사용자에게 읽기 및 쓰기 권한을 부여한다.

chmod 66 a.txt

 

⑨ a.out라는 파일에 Set-UID를 설정한다.

chmod u+s a.out

 

⑩ a.out라는 파일에 Set-GID를 설정한다.

chmod g+s a.out

 

⑪ data 디렉터리에 Sticky-Bit를 설정한다.

chmod o+t data/

 

⑫ /project라는 디렉터리에 Set-GID를 부여하여 파일 생성 시 자동으로 그룹 소유권을 지정하고, 그룹 사용자 간의 고유 모드(Sticky Bit)로 사용한다.

chmod g+s,o+t /project

 

⑬ /project라는 디렉터리를 해당 그룹에 속한 사용자들만 접근하고, 파일을 생성/삭제할 수 있도록 하고, 그룹 소유권을 자동 지정(Set-GID)하고 공유(Sticky Bit)하여 사용하도록 한다.

chmod 3070 /project

 

 

참고자료
CentOS 7으로 리눅스마스터 1급 정복하기 
반응형