기본적인 권한 이외에도 특수 권한(special permission)이라는 것이 존재한다.
SetUID, SetGID, Sticky bit 이 있으며, 8진수 권한의 제일 앞자리로 나타낸다.
symbol | 8진수 | 의미 | 설명 | 용도 | |
SetUID | user execute 권한 s | 2^2 = 4 |
x+SetUID | 프로그램(파일)이 실행되는 동안에 프로그램의 소유자 권한으로 권한이 변경되어 실행됨 | 프로그램 내에서 특정 유저 권한으로만 수행할 수 있는 액션을 해야 할 때 |
user execute 권한 S | -+SetUID | ||||
SetGID | group execute 권한 s | 2^1 = 2 | x+SetGID | 프로그램(파일)이 실행되는 동안에 프로그램의 소유 그룹 멤버로 권한이 변경되어 실행됨 | 프로그램 내에서 특정 그룹 권한으로만 수행할 수 있는 액션을 해야 할 때 |
group execute 권한 S | -+SetGID | ||||
Sticky bit | other execute 권한 t | 2^0 = 1 | x+sticky bit | 디렉토리 내에 누구나 파일을 생성할 수 있으나, 삭제는 파일 소유자만 가능하도록 함 | 시스템이나 애플리케이션에서 생성하는 파일을 모아놓는 디렉토리를 보호하고자 할 때 e.g. /tmp |
1. SetUID 설정방법
symbol 파라미터 형식: chmod u+s {파일명}
8진수 모드 형식: chmod 4{기존권한} {파일명}
e.g.
# chmod u+s program.exe
# chmod 4755 program.exe
2. SetUID 제거방법
symbol 파라미터 형식: chmod u-s {파일명}
8진수 모드 형식: chmod 0{기존권한} {파일명}
* special permission 자리를 0으로 세팅하므로, SetUID 이외에도 모든 special permission 을 지워준다.
e.g.
# chmod u-s program.exe
# chmod 0755 program.exe
3. SetGID 설정방법
symbol 파라미터 형식: chmod g+s {파일명}
8진수 모드 형식: chmod 2{기존권한} {파일명}
e.g.
# chmod g+s program.exe
# chmod 2755 program.exe
4. SetGID 제거방법
symbol 파라미터 형식: chmod g-s {파일명}
8진수 모드 형식: chmod 0{기존권한} {파일명}
* special permission 자리를 0으로 세팅하므로, SetGID 이외에도 모든 special permission 을 지워준다.
e.g.
# chmod g-s program.exe
# chmod 0755 program.exe
5. sticky bit 설정방법
symbol 파라미터 형식: chmod o+t {디렉토리명}
8진수 모드 형식: chmod 1{기존권한} {디렉토리명}
* 보통 모든 유저가 파일 생성은 가능하게 하므로, 1777 으로 설정하는 것이 일반적임
e.g.
# chmod o+t tmp
# chmod 1777 tmp
6. sticky bit 제거방법
symbol 파라미터 형식: chmod o-t {디렉토리명}
8진수 모드 형식: chmod 0{기존권한} {디렉토리명}
* special permission 자리를 0으로 세팅하므로, sticky bit 이외에도 모든 special permission 을 지워준다.
e.g.
# chmod o-t tmp
# chmod 0777 tmp
'Linux' 카테고리의 다른 글
[LINUX] 리눅스 root 권한 취득 su - 와 sudo -i 의 차이점 (0) | 2025.03.23 |
---|---|
[LINUX] 리눅스 file attribute 정리 (0) | 2025.03.23 |
[LINUX] 리눅스 umask 파일 기본 권한 설정 (0) | 2025.03.15 |
[LINUX] 리눅스 chmod 사용법(파일 권한 관리) (0) | 2025.03.15 |
[LINUX] 리눅스 계정 패스워드 관리 (0) | 2025.03.12 |