본문 바로가기
Develops/Linux

[LINUX] chmod 명령어 (접근권한 부여 / 읽기, 쓰기, 실행)

by SLOTH91 2024. 3. 30.
반응형

chmod다른 사용자에게 접근 권한을 부여할때 사용되는 명령어이다.

 

리눅스 파일 시스템에서 파일을 생성시 파일을 생성한 사용자가 파일에 대한 제어를 할수 있는데, 서비스를 운영하다 보면 다른 사용자에게 접근, 읽기, 쓰기 같은 권한을 주어야 할 경우가 있다.

소유자, 그룹, 익명사용자에게 각각 별도로 지정이 가능하며, 권한을 지정시 숫자, 알파벳기호, 특수문자를 통해 설정한다.

 

기본 문법

chmod [옵션] [--옵션] [모드] [파일]
chmod [옵션] [--옵션] [8진수 모드] [파일]

 

명령어 옵션

옵션 설명
-c, --changes 올바르게 변경된 파일들만 -v 옵션을 적용하여 자세히 보여준다.
-f, --silent, --quite 가능한 한 불필요한 메시지를 보여주지 않고 간략하게 보여준다.
-v, --verbose 실행 과정을 자세하게 보여준다.
-R, --recursive 디렉토리와 그 안에 존재하는 서브디렉토리까지 모두 적용한다.
--help 사용 가능한 옵션들과 사용법을 보여준다.
--version 현재 버전 정보를 보여준다.

 

절대모드 지정 방식

  • 숫자를 지정하는 방식
  • 숫자로 권한을 지정하는 방법은 읽기는 5, 쓰기는 2, 실행은 1
  • 읽기, 쓰기, 실행을 모두 더한 수인 7을 지정을 하여 읽기, 쓰기, 실행을 권한을 허용할 수 있고, 0을 지정할 경우 읽기, 쓰기, 실행을 권한을 허용하지 않을 수 있다.
  • 각각 소유자 권한, 그룹 권한, 그 밖에 다른 사용자를 지정할 수 있으며, 100, 10, 1 단위로 각각 권한을 설정
사용자 권한 접근 유형 절대 모드 지정
파일 소유자 읽기 r 5 or 400
쓰기 w 2 or 200
실행 x 1 or 100
그룹 읽기 r 5 or 40
쓰기 w 2 or 20
실행 x 1 or 10
다른 사용자 읽기 r 5
쓰기 w 2
실행 x 1

 

상대모드 지정 방식

  • 특정 문자를 이용한 퍼미션 설정 방법
  • 특정 문자(u(파일 소유자)), g(그룹 소속자), o(일반 다른 사용자), a(모두))로 접근 주체를 지정하고, 다음으로 어떻게 실행할 것인지에 대한 실행자(+(권한 부여), -(권한 제거), =(권한유지))를 지정한 후에, 일기, 쓰기, 실행 등 권한에 해당하는 문자(r(일기), w(쓰기), x(실행), s(SetUID 또는 SetGID 설정) 등)를 지정하여 퍼미션을 설정
사용자 접근 주체 실행자 의 미 권 한 의미
파일 소유자 u + 권한 부여 r 읽기
- 권한 제거 w 쓰기
= 권한 유지 x 실행
그룹 g + 권한 부여 r 읽기
- 권한 제거 w 쓰기
= 권한 유지 x 실행
다른 사용자 o + 권한 부여 r 읽기
- 권한 제거 w 쓰기
= 권한 유지 x 실행

 

특수목적 접근 방식

  • SetUID. SetGID. 스티키 비트(Sticky bit)는 1000 단위에 절대 모드 지정 방식으로 설정이 가능 합니다 또한 해제 할때에는 0으로 지정하면 됩니다 그리고 SetUID는 파일에 색상이 빨간색 표시되고 SetGID는 노란색으로 표시됩니다.
접근 주체 절대 모드 방법 의미 표시
SetUID(Set User ID) 4000 파일의 소유자만 삭제가능 설정 S - 빨간색
SetGID(Set Group ID) 2000 프로세스 실행 당시 GID로 설정 S - 노란색
sticky bit 1000 파일의 소유자만 삭제가능 설정 T

 

 

[참고]

https://server-talk.tistory.com/419

 

반응형