ACL(Access Control List)
접근 제어목록
linux unix :권한
- 파일, 디렉토리 permission : 모든 파일이나 디렉토리에 rwx
- 확장 권한 :setuid, setgid, sticky bit
- ACL : access control list, 특정 사용자(또는 그룹)에게만 권한을 부여해주는 것입니다.
ACL은 절대경로가 안됩니다. 그래서 cd로 직접 해당 디렉토리로 이동해서 작업해야합니다.
ACL 설정 확인
$ ls -l
-rw-rw-r-- . 1 playdata playdata 0 Feb 22 11:36 test
◆ 없음 :ACL 설정되어있지 않음
◆ + :ACL설정사항이 있음.
명령어
getfacl : ACL 확인
setfacl : ACL 설정 특정 사용자에게 권한 부여
getfacl (filename)
setfacl [option] entry:name:perms (filename)
[option]
◆ -m : modify. 변경할 때 반드시 넣어야 함.
entry
◆ m : 마스크
◆ u : 사용자
◆ g : 그룹
◆ o : other
◆ default(*)
name
◆ 사용자명
perms
◆ 권한 - rwx
setfacl -m u:user01:rwx test
◆ user01에게 rwx 권한 부여
setfacl -m u:user01:r-- test
◆ user01이라는 u(사용자)에게 test 파일에 대한 r--권한 부여
getfacl test
=>
# file : test
# owner: playdata
# group: playdata
user:: rw-
user:user01:r-- #effective: rw- (실질적으로 있는 권한 rw-)
group::rw-
mask::rw-
other::r--
mask = 최소한의 권한을 부여해주기 위해서. 사용자가 가지는 최대치 권한. (가이드)
특정 사용자에게 rwx 권한을 부여한다고 하여도, umask가 rw-로 설정되어잇으면
실질적으로 적용되는 권한은 rw-이다.
mask를 제일 우선시하기 때문에,
mask에서 권한 할당 설정이 되어있지 않다면
권한을 아무리 부여해주려고 해도 부여되지 않습니다.
acl 제거
-x : 특정 사용자가 그룹의 항목 삭제
-b : 모든 acl 삭제
-k : default acl 삭제
setfacl -x g:wheel test_dir/test3
◆ test3파일에 wheel 그룹의 권한을 삭제
◆ 한 가지 항목만 acl 제거 (O:O :O 중에 한가지.)
setfacl -b test_dir/test3
◆ 모든 항목에 acl 제거
접근권한 상속하는 방법?
ACL을 default와 다르게 설정한다고 하여서,
새로 만든 파일에 해당 ACL이 적용이 되지 않고 여전히 default가 부여됩니다.
해당 ACL을 적용시키려면(상속하려면) 어떻게 해야할까요?
→ 디렉토리에 d: 설정을 해주면 하위에 생성되는 파일/디렉토리에 자동으로 상속됩니다.
ex) setfacl -m d:g:wheel:rwx test_dir
'Linux' 카테고리의 다른 글
12. 하드디스크 구조 (0) | 2023.09.18 |
---|---|
11. 스케쥴링(Scheduling) (0) | 2023.09.18 |
9. 아카이브(archive)와 압축 (0) | 2023.09.18 |
8. 프로세스 관리 (Process Management) (0) | 2023.09.18 |
7. 쉘 메타 문자와 히스토리, alias (0) | 2023.09.18 |