운영체제보안
File permissions
라구넹
2024. 10. 12. 19:44
전통적인 퍼미션 모델
파일
r: 볼 수 있음
w: 쓸 수 있음
x: 실행할 수 있음
디렉토리
r: 디렉토리의 내용 리스트를 볼 수 있음
w: 새 파일과 서브디렉토리를 생성할 수 있음
x: 해당 디렉토리로 들어갈 수 있음
- rwx rwx rwx 1 owner groupOwner 1802 Feb 6 11:39 fileName
파일타입/액세스권한/링크수
rwx => 7 ... 777
rwx 세 개라 9비트 쓸 것 같지만
12비트 씀. 왜냐 => setuid, gid랑 sticky bit의 존재
umask
새 파일의 디폴트 퍼미션을 결정
예시: umask가 0002 => 이 값을 생성 시 부여되는 권한에서 뺌
일단 기본적으로는 권한이 0666임 (rw-rw-rw- .. 실행 안되는 파일이 기본적이니까)
umask가 0022이면 0644 됨 (rw-r--r--)
umask 켜진 비트는 꺼진다고 보면 됨
ACL
Fine grained ACL 가능.. 옛날엔 루트만 있으면 다 됐는데,
루트 권한이 너무 막강하니 필요한 권한만 프로세스에 주고자 함
Fine grained하게 액세스 컨트롤을 조정
getfacl / setfacl
setfacl -m u:user2:r-- example.txt
getfacl example.txt
--------------------------------------
# file: example.txt
# owner: user1
# group: group1
user::rw-
user:user2:r--
group::r--
mask::r--
other::---
파일 소유자의 권한에 더해 user2에 따로 권한을 주었음
# 권한제거
setfacl -x u:user2 example.txt
# 그룹에 설정
setfacl -m g:group1:rw- example.txt
# ACL 전체 제거하여 기본 파일 권한만 남기기
setfacl -b example.txt