Linux

[Linux] chmod(change mode)

thdwldud 2025. 6. 26. 09:27

chmod (change mode)

  • 파일이나 디렉터리에 접근할 수 있는 허가권(Permission)을 설정하는 명령어

A. 문자 모드 (Symbolic mode) : 알파벳 기호 사용

  • 권한 / 사용자 / 설정 3가지로 나뉨
  • 여러 사용자 계층의 권한 설정은 콤마(,) 로 분리해서 지정 가능
  • 권한 (r, w, x)
  • 사용자 (u, g, o, a)
    • u : 파일 소유자의 접근 권한
    • g : 그룹에 속한 사용자들에 대한 접근 권한
    • o : 다른 사용자들에 대한 접근 권한
    • a : all의 약자로 파일 소유자, 그룹, 다른 모든 사용자를 포함하여 접근 권한
  • 설정 (+, -, =)
    • + : 설정
    • - : 해제
    • = : 특정 권한만 지정

B. 숫자모드 (Numeric mode) : 8진수 값 사용

  • 숫자(4, 2, 1, 0)를 조합하여 8진수의 값을 만들어 권한 설정하는 방법
  • 소유자(100의자리) / 그룹(10의자리) / 다른 사용자(1의자리)
    • 4 : 읽기
    • 2 : 쓰기
    • 1 : 실행
  • 모든 권한(7) / 읽기, 쓰기 권한(6) / 읽기, 실행 권한(5) / 권한 없음(0)
chmod [option] mode file(s)

 

옵션

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

 

사용 예

  • 모든 사용자에게 모든 권한을 준다
chmod ugo+rwx aa.txt
chmod a+rwx aa.txt
chmod 777 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 a= a.txt
chmod 0 a.txt
  • 소유자에게는 어떠한 권한도 설정하지 않고, 그룹 및 다른 사용자에게 읽기 및 쓰기 권한을 부여한다
chmod 66 a.txt
chmod 066 a.txt
  • a.out 이라는 파일에 Set-UID를 설정한다
chmod u+s a.out
  • a.out 이라는 파일에 Set-GID를 설정한다data 디렉터리에 Sticky-Bit를 설정한다/project라는 디렉터리에 Set-GID를 부여하여 파일 생성시 자동으로 그룹 소유권을 지정하고, 그룹 사용자 간의 공유 모드(Sticky Bit)로 사용한다/project 라는 디렉터리를 해당 그룹에 속한 사용자들만 접근하고, 파일을 생성 및 삭제할 수 있도록 설정한다. 아울러 그룹 소유권을 자동 지정(Set-GID)하고 공유(Sticky Bit)하여 사용하도록 한다
chmod 3070 /project

'Linux' 카테고리의 다른 글

[Linux] 파일링크 - ln  (0) 2025.07.02
[Linux] chgrp (change group)  (0) 2025.06.28
[Linux] 특수 권한  (0) 2025.06.20
[Linux] 사용자 패스워드 관리 - chage  (0) 2025.06.12
[Linux] 사용자 계정 관리 - usermod  (0) 2025.06.07