특정 디렉토리 읽기쓰기 권한 부여 ACL
ACL(Access Control List)은 디렉토리 및 파일에 특정 사용자, 그룹에 특정 권한을 넣어 줄 수 있는 기능이다.
share 라는 노무팀 디렉토리가 있는데, 이 디렉토리는 노무팀원들만 읽고 쓸 수 있다.
여기에 프로젝트팀원 중 한 명에게 share 디렉토리를 읽을 수 있는 권한을 주어야 하는데,
프로젝트팀원을 노무팀 그룹에 넣을 수는 없는 일이다.
타 팀원을 노무팀 그룹에 넣을 경우, share 디렉토리 말고도 노무팀의 다른 소유 디렉토리를 읽을 수 있는 위험이 있고, 여러 가지 혼선이 있을 수 있기 때문이다.
이럴 때 ACL을 사용하면 문제는 해결된다.
setfacl -m <rules> <target directory>
- u:<uid>:<perms>
사용자에 대한 access ACL을 설정. 사용자명이나 UID를 지정 가능. 사용자는 시스템 상 어느 사용자라도 가능
허가 (<perms>)는 읽기, 쓰기와 실행을 가리키는 r, w, x 문자를 조합하여 설정
- g:<gid>:<perms>
그룹에 대한 access ACL을 설정. 그룹명이나 GID를 지정 가능. 그룹은 시스템 상 어느 그룹이라도 가능
허가 (<perms>)는 읽기, 쓰기와 실행을 가리키는 r, w, x 문자를 조합하여 설정
- o:<perms>
파일의 그룹에 속한 사용자가 아닌 다른 사용자에 대한 access ACL을 설정
허가 (<perms>)는 읽기, 쓰기와 실행을 가리키는 r, w, x 문자를 조합하여 설정
디렉토리를 생성하고 난 이후 디렉토리에 부여된 권한이 어떻게 되는지 확인
특정 사용자 jsk005 에게 읽기와 쓰기 권한 부여 하고 난 다음에 권한 확인
setfacl 은 ACL 설정 명령,
getfacl 은 설정된 ACL 확인 명령이다.
ACL은 ACL옵션이 적용된 파티션에만 쓸 수 있다.
mv로 이동하면 ACL설정은 유지되나 cp로 복사하면 ACL설정은 사라진다. cp에 -p 옵션을 붙이면 ACL설정은 유지된다.
setfacl -x <rules> <target directory>
사용자, 그룹이나 기타 그룹에 대한 모든 권한을 삭제하려면 -x 옵션을 사용
특정 사용자 jsk005 에게 권한 삭제하고 난 다음에 권한 확인
적용된 ACL 명령어를 제거
setfacl -b <target directory>
맨 처음 디렉토리를 만들고 나서 getfacl 로 권한을 확인한 것과 동일한지 확인해보면 알 수 있다.
하위디렉토리까지 설정된 권한을 제거하려면 setfacl -R -b /home/share 로 명령하면 된다.
참고 : http://www.digistory.co.kr/?p=152
'리눅스' 카테고리의 다른 글
[리눅스] 파일 내용 검색 (find, grep) (0) | 2015.03.19 |
---|---|
포트 상태 점검 명령어 (0) | 2015.02.22 |
리눅스 CentOS 6.X 방화벽 설정 (0) | 2014.12.26 |
그룹 사용자 추가/삭제/변경 (0) | 2014.11.19 |
리눅스 권한, 소유권자 하위 디렉토리 까지 바꾸기 chown (0) | 2014.11.11 |