1. 확장 권한
- 기본 권한인 r, w, x 이외의 기능 사용 가능하도록 확장된 권한
1) 확장 권한의 종류
가) setuid
- 실행권한이 있는 바이너리 파일 또는 스크립트 파일에만 사용
- setuid가 설정되어 있는 파일을 실행하면 사용자가 아니라 파일을 소유하고 있는 사용자의 권한으로 프로세스 실행
- setuid가 설정되어 있으면 실행 권한이 x 대신에 s로 표시
나) setgid
- 명령을 실행할 때 프로세스의 사용자 그룹이 파일의 사용자 그룹으로 실행
- 일반적으로 바이너리 파일보다 디렉토리에 설정하여 사용하는 경우가 많음
다) sticky bit
- 파일을 소유한 사용자만 파일 삭제 가능
- 기타 사용자 권한의 실행권한에 설정
2) 확장 권한 설정
# setuid: u+s(u-s)
# setgid: g+s(g-s)
# sticky bit: o+t(o-t)
chmod u-s /bin/passwd
2. 접근 제어 리스트 (Access Control List; ACL)소개
- 파일을 소유한 사용자와 사용자 그룹을 제외한 사용자와 그룹에게 별도로 권한 부여, 상속 등 가능
- default ACL: 디렉토리에만 설정 할 수 있는 ACL
# 적용 유무 확인
ls -l
# 예시
-rw-r--r--. 1 root root 0 3월 6 21:00 filea (적용 X)
-rw-rw-r--+ 1 root root 0 3월 6 21:00 fileb (적용 O)
# 정보 확인
getfacl [option] <file-name>
# 설정
setfacl [option] ENTRY:NAME:PERMS <file-name>
# ENTRY:NAME:PERMS
사용자 u::권한
소유그룹 g::권한
기타사용자 o::권한
특정사용자 u:사용자명:권한
특정그룹 g:그룹명:권한
# ENTRY:NAME:PERMS (default ACL)
사용자 d:u::권한
소유그룹 d:g::권한
기타사용자 d:o::권한
특정사용자 d:u:사용자명:권한
특정그룹 d:g:그룹명:권한
# (일반 ACL) ACL 설정
setfacl -m ACL_엔트리 파일
# (일반 ACL) ACL 제거(하나의 일반 ACL 엔트리만 제거)
setfacl -x ACL_엔트리 파일
# (일반 ACL) ACL 전체 제거
setfacl -b 파일
# ACL mask 값 설정
setfacl -m m::권한 파일
# (일반 ACL) 디렉토리와 디렉토리 하위파일에 한번에 일반 ACL 설정
setfacl -R -m ACL_엔트리 디렉토리
# (Default ACL) ACL 설정
setfacl -m d:ACL_엔트리 디렉토리
setfacl -d -m ACL_엔트리 디렉토리
# (Default ACL) ACL 제거(하나의 일반 ACL 엔트리만 제거)
setfacl -x ACL_엔트리 디렉토리
# (Default ACL) ACL 전체 제거
setfacl -k 디렉토리
# 디렉토리에 설정된 Default ACL만 제거
'MLOps > Linux' 카테고리의 다른 글
Systemd (0) | 2022.01.26 |
---|---|
논리 볼륨(Logical Volume) 관리 (0) | 2022.01.26 |
디스크 관리 및 파일시스템 (0) | 2022.01.25 |
작업 스케줄링 (0) | 2022.01.25 |
사용자 및 그룹 관리 (0) | 2022.01.24 |