개발 창고/Server

[Linux] How to use "chmod" command

로이제로 2023. 10. 27. 22:00
반응형

 

How to use "chmod" command

 리눅스 시스템에는 파일과 디렉토리 각각에 대한 사용 권한이 주어집니다. 크게 읽기(r)와 쓰기(w), 실행(x)의 권한을 부여하며 대상은 소유자(u)와 그룹(g), 기타 사용자(o)로 나누어 집니다. 그리고 이 권한을 조정하는 명령어로 chmod를 사용하게 됩니다.

chmod --help 결과

 

주요 옵션 내용
-c --changes -v 옵션과 같지만 기존 파일이 변경된 경우에만 진단 메시지 출력합니다.
-f --silent, --quit 에러 메시지를 출력하지 않습니다.
-v --verbose 모든 파일 처리에 대해 진단 메시지를 출력합니다.
-R --recursive 대상이 디렉토리인 경우 해당 디렉토리의 하위 파일 및 디렉토리까지 재귀적으로 처리합니다.

 

모드 구분 내용
u 권한 대상 소유자 (User)
g 권한 대상 그룹 (Group)
o 권한 대상 기타 사용자 (Others)
a 권한 대상 모든 사용자 (All)
+ Action Mode 권한 추가
- Action Mode 권한 제거
= Action Mode 권한 지정 (기존 권한 제거)
r 권한 종류 읽기 권한
w 권한 종류 쓰기 권한
x 권한 종류 실행 권한
X 권한 종류 "디렉토리" 또는 "실행 권한(x)이 있는 파일"에 실행 권한(x) 적용
s 권한 종류 실행 시 사용자 또는 그룹 IP 지정(s). "setuid", "setgid"
T 권한 종류 공유 모드에서의 제한된 삭제 플래그를 나타내는 sticky(t) bit
0-7 모드 설정 값 8진수(octet) 형식 모드 설정 값

 

사용 예시

# file01.txt 파일을 생성
$> touch file01.txt

# 현재 file01.txt 권한 확인
$> ls -alt file01.txt

# file01.txt에 그룹(g) 실행(x) 권한 추가(+)
$> chmod g+x file01.txt

# 현재 file01.txt 권한 확인
$> ls -alt file01.txt

# file01.txt에 전체(a) 권한을 읽기(r)만 되도록 변경(=)
$> chmod a=r file01.txt

# 현재 file01.txt 권한 확인
$> ls -alt file01.txt

# file01.txt에 그룹(g)과 기타 사용자(o)의 권한 전체(rwx) 제거(-)
$> chmod go-rwx file01.txt

# 현재 file01.txt 권한 확인
$> ls -alt file01.txt

# file01.txt에 기타 사용자(o) 권한에 Sticky(t) bit 추가(+)
$> chmod o+t file01.txt

# 현재 file01.txt 권한 확인
$> ls -alt file01.txt

사용 예시의 권한별 변경 결과

반응형