운영체제/Linux

내가 보려고 정리한 리눅스 명령어: chmod 옵션 사용법

gamjadori 2023. 11. 28. 11:35
728x90

명령어 chmod란?

디렉토리나 파일의 읽기, 쓰기, 실행 권한을 변경하는 명령어

  • 기본 형태
chmod [옵션] [권한 수정 내용] [파일 이름]
    • 접근권한 변경은 두 가지 방법으로 가능
    1. Symbolic method 방법: +, -, = 기호를 통해 권한 유형을 표기하여 변경
    2. Absolute form 방법: rwx를 3자리 숫자로 표기하는 방법

접근권한: 파일에 대한 읽기(r), 쓰기(w), 실행(x) 권한

  • r: read / w: wirte / x: execute
  • u: 파일 소유자 / g: 그룹 / o: 그 외 사용자
  • 세글자씩 끊어서 해석: 소유자 / 그룹 / 그 외 사용자
ls -l
   4        -    rw-rw-r--     1     chang   chang   2088   4월 16 13:37  csl.txt
블록 수 파일 종류 접근권한 링크 수 소유자명 그룹명 파일크기 최종수정시간  파일이름

> 접근권한: rw-rw-r--

해석: 소유자는 읽기와 쓰기가 가능하고, 그룹도 읽기 쓰기가 가능하다. 그 외 사용자는 읽기만 가능하다.

 

** Symbolic method 방법 접근 권한 변경 예시

ls -l
   4        -    rw-rw-r--     1     chang   chang   2088   4월 16 13:37  csl.txt
chmod u+x,g-w,o+w csl.txt
ls -l
   4        -    rwxr--rw-    1     chang   chang   2088   4월 16 13:37  csl.txt

 

 

 

** Absolute form 방법 접근 권한 변경 예시

소유자, 그룹, 그 외 사용자의 권한을 r, w, x 순서로 8진수로 해석하여 3자리로 표현

r (read): 4

w (write): 2

x (Ececute): 1

예시 1.

ls -l
   4        -    rw-rw-r--     1     chang   chang   2088   4월 16 13:37  csl.txt
인 경우, csl.txt의 권한을 rwxrwxrwx으로 하고 싶다면
rwx=4+2+1=7 이므로
chmod 777 csl.txt
ls -l
   4        -    rwxrwxrwx    1     chang   chang   2088   4월 16 13:37  csl.txt

 

예시 2.

csl.txt의 권한을 r-x-w--wx로 하고 싶다면
r-x=4+1 / -w-=2 / -wx=2+1 이므로
chmod 523 csl.txt
ls -l
   4        -    r-x-w--wx    1     chang   chang   2088   4월 16 13:37  csl.txt

<자주 사용하는 옵션>

  • chmod -c: 변경된 파일만 자세하게 출력
  • chmod -f: 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않음
  • chmod -v: 작업 과정을 보여줌
  • chmod -R: 경로와 그 하위 파일들을 모두 변경