
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 |