리눅스 setfacl
IT 위키
- 파일이나 디렉터리의 접근 제어 목록(ACL)을 설정한다.
- 소유자·그룹·기타의 세 가지 권한만으로는 표현할 수 없는 권한을 특정 사용자나 특정 그룹 단위로 부여할 때 쓴다.
- 파일시스템이 acl 옵션으로 마운트되어 있어야 한다.
- 경로 : /usr/bin/setfacl
setfacl [옵션] 파일명···
- -m, --modify=acl : ACL 항목을 추가하거나 수정한다.
- -x, --remove=acl : 지정한 ACL 항목을 삭제한다.
- -b, --remove-all : 기본 항목을 제외한 모든 ACL 항목을 삭제한다.
- -k, --remove-default : 기본(default) ACL 항목을 삭제한다.
- -d, --default : 디렉터리에 기본 ACL 을 설정한다. 이후 그 안에 만들어지는 파일이 물려받는다.
- -R, --recursive : 하위 디렉터리와 파일에 재귀적으로 적용한다.
- -M, --modify-file=파일 : 파일에서 ACL 항목을 읽어 적용한다.
- --set=acl : 기존 ACL 을 모두 지우고 지정한 내용으로 교체한다.
- --restore=파일 : getfacl 로 저장해 둔 내용을 복원한다.
- --test : 실제로 바꾸지 않고 결과만 출력한다.
u[ser]:사용자명:권한 g[roup]:그룹명:권한 m[ask]::권한 o[ther]::권한
- ihduser 사용자에게 읽기·쓰기 권한을 준다.
setfacl -m u:ihduser:rw- data.txt
- project 그룹에 쓰기 권한을 추가한다.
setfacl -m g:project:rwx /home/project
- ihduser 에게 준 권한을 회수한다.
setfacl -x u:ihduser data.txt
- 설정한 내용은 getfacl 로 확인한다. ls -l 에서는 권한 끝에 + 기호로만 표시된다.
getfacl data.txt
