[SetUID와 SetGID]
: 프로세스가 실행되는 동안 해당 프로세스의 root 권한을 임시로 가져오는 기능
: 프로세스가 사용자보다 높은 수준의 접근을 요구할 때 파일 접근 제한으로 원활한 기능을 제공할 수 없기 때문에 이를 해결하기 위한 방법
SetUID
: 프로그램을 실행하는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행
- 소문자 's'
: 실행 파일에 setUID 설정
: 정상적으로 실행 가능
- 대문자 'S'
: 실행 파일이 아닌데 setUID 설정
: 실행 불가능
SetGID
: 프로그램을 실행하는 동안 프로세스는 파일의 그룹과 같은 권한으로 실행
: SetGID 권한이 명시된 디렉터리에 생성되는 모든 하위 디렉터리나 파일도 동일한 권한을 가짐
표기법
코드 | 절대값 | 설명 | |
SetUID | s | 4000 | 프로세스 실행 당시 UID로 설정 |
SetGID | s | 2000 | 프로세스 실행 당시 GID로 설정 |
Sticky bit | t | 1000 | 실행 후에도 메모리를 점유하도록 설정 |
[Sticky bit]
: 공용 디렉터리를 사용할 때 설정하여 사용
: Sticky bit로 설정되는 디렉터리는 /tmp 안에 생성
목적
: 해당 파일의 소유자나 root만이 변경 가능하게 하여 공용 디렉터리라도 권한에 제약을 두어 다른 사용자들의 파일을 보호하기 위한 목적
특징
1) 사용자 권한을 지정하기 어려운 프로그램들 - 일시적으로 특정 디렉터리에 파일을 생성하고 삭제하도록 이용
2) 특정 응용 프로그램이 다른 응용 프로그램에서 - 생성한 파일을 삭제하지 못하는 권한 설정
3) 설정된 디렉터리 - 누구든 접근 가능하고 파일을 생성
4) 생성된 sticky bit 파일 삭제 - 소유자(파일 생성자)와 관리자만 삭제 가능
5) sticky bit가 적용된 디렉터리 내 파일 - 생성은 누구나 가능, 삭제는 생성자 본인과 관리자만 가능
* 삭제와 관련하여 권한 확인 주의
'학습 기록 > 리눅스 마스터 2급' 카테고리의 다른 글
[파일 시스템 관련 명령어] 디스크 쿼터(Disk Quota) (0) | 2023.08.13 |
---|---|
[파일 시스템 관련 명령어] 권한 및 그룹 설정 (0) | 2023.08.12 |
[리눅스] 리눅스 기본 명령어(사용사 생성 및 계정 관리, 디렉터리 및 파일, 기타 명령어) (0) | 2023.07.29 |