ACL(Access Control List) 명령어는 파일이나 소유자, 그룹에 대한 다양한 권한을 부여할 수 있는 방법이다.
setfacl
명령어를 통해 파일의 소유자나 그룹을 만들고, 다양한 권한을 부여할 수 있다.
getfacl
명령어를 통해 추가된 권한을 확인할 수 있다.
setfacl
File / Dir 등 추가적인 권한을 수정할 때 사용한다.
setfacl [Option] <ACL 항목> <File / Dir>
ACL 항목
ACL에서는 특정한 대상에게 권한을 주는 것을 하나의 항목으로 관리한다.
각 ACL 항목(entry)은 다음처럼 구성된다.<타입>:<사용자 및 그룹 이름>:<권한>
타입과 이름은 권한을 받을 대상을 결정한다.
- 타입 :
user
,group
,mask
,other
- 권한 :
rwx
,rw-
,---
같은 식으로 나타낸다.-
user:<사용자 이름>:<권한>
해당 사용자에게 권한을 부여한다.
user:ayoung:rw-
:ayoung
사용자에게 r, w 권한을 부여한다.-
group:<그룹 이름>:<권한>
해당 그룹에게 권한을 부여한다.
group:test:---
:test
그룹에게 아무런 권한을 부여하지 않는다.
[Option]
Option | Description |
---|---|
-R, -recursive | Dir인 경우 하위 Dir의 내용까지 권한을 변경한다. |
-m, -modify | 권한을 수정할 때 사용한다. |
-x | 권한을 삭제할 때 사용한다. |
-b | 권한 및 mask 등 지정한 권한을 전부 제거한다. |
-d | Default ACL Operation |
getfacl
File / Dir 등 추가적인 권한을 확인할 때 사용한다. ACL 정보 확인
getfacl [Option] <File / Dir>
Option | Description |
---|---|
-R | Dir인 경우 하위 Dir의 내용까지 정보 확인한다. |
-d | 기본 정보 확인 |
$ mkdir acl_test
$ getfacl acl_test/
# file: acl_test/
# owner: ayoung
# group: ayoung
user::rwx
group::rwx
other::r-x
$ setfacl -m user:ayoung:rw acl_test # 권한 부여
$ getfacl acl_test/
# file: acl_test/
# owner: ayoung
# group: ayoung
user::rwx
user:ayoung:rw-
group::rwx
mask::rwx
other::r-x
$ setfacl -x user:ayoung acl_test # 권한 삭제
$ getfacl acl_test/
# file: acl_test/
# owner: ayoung
# group: ayoung
user::rwx
group::rwx
mask::rwx
other::r-x