linux ACL

반응형

ACL

(access control list)


- 파일에 특정 사용자, 그룹에 권한을 줄 수 있는 기능.


일반적으로 chmod를 이용하면 소유자, 그룹, other에 관해서만 권한을 줄 수 있었는데 acl을 이용하면 특정 사용자 및 그룹에 대해서도 권한을 줄 수 있죠.

/study 라는 디렉터리를 만들고 적용시켜 보겠습니다.


ACL을 확인하는 법

getfacl <path>

ex) getfacl /study



위와 같이 기본정보인 파일이름, 사용자, 그룹과 더불어 권한들이 나와있네요. 여기에 새로운 계정 study를 만들고 권한을 실험해 보겠습니다. /study에 그룹 권한을 읽기 권한만 주고 ACL로 study 계정만 모든 권한을 줘보겠습니다.

ACL을 추가 하는 법은 다음과 같습니다.


ACL을 추가하는 법

setfacl <option> <perm> <path>

ex) setfacl -m g:study:rwx /study

-m 은 ACL을 추가해주는 옵션입니다.



setfacl -m g:study:rwx /study 와 같이 명령을 주어 study 그룹에 관해서만 모든 권한을 주었고 setfacl -m g::r-- /study 로 그룹 권한은 읽기 권한만 주었습니다. 이제 두개의 계정으로 실험을 해보겠습니다.



아무런 권한도 주지않는 moon 계정은 읽기 권한밖에 없어서 접근조차 되지 않는군요 ㅠㅠ! 하지만 study 계정은 들어가서 파일생성도 된다는점~~!


그리고 getfacl로 본 상태중에 mask란 부분이 있습니다. 일반적으로 ls -ld로 볼 수 있는 그룹의 권한이 바로 이 mask 의 권한인데요, setfacl로 mask의 권한을 읽기만 줘보겠습니다.

setfacl -m m::r-- /study



그러면 위와 같이 mask 권한이 r--로 바뀌고 group:study:rwx 옆에 #effective:r-- 이란 새로운 권한이 떴네요?? 이것의 뜻은 실제 그 사용자 및 그룹의 유효한 권한이란 뜻입니다. 즉 아무리 어떠한 사용자나 그룹에관해서 모든 권한을 주든, 안주든 mask 권한이 읽기 밖에 없다면 study그룹으로 들어가도 읽기밖에 안되는 거죠.



mask의 권한을 바꾸자마자 위와 같이 사정없이 접근제한 걸어버리는....


마지막으로 ACL에는 default 설정이 있습니다.

default

- 디렉터리 파일에만 설정 가능

- 디렉터리 내에 새로 생성되는 파일에 대해서 default 항목의 권한을 상속


ACL로 열심히 디렉터리 파일에 대해서 권한을 줘봤자 umask로 인해 새로 생성되는 파일 및 디렉터리는 각각 644, 755로 고정되어 있죠. 만들때마다 하나하나 바꾸는 것도 매우 번거로운 일이고.. 이러한 점을 보완해주는 설정이 바로 default 설정입니다!


setfacl -m default:g:study:rwx /study


디렉터리 파일의 권한과 같이 새로 파일을 생성해도 위와같이 study 그룹에는 rwx권한이 부여되도록 명령을 하였습니다.



위와 같이 새로 만든 파일인데 study 그룹권한이 생겨져 있는걸 볼 수 있네요.

mask가 rw- 이니 제대로 사용하려면 mask를 rwx로 바꿔야겠죠?ㅎㅎ..


이상으로 ACL 포스트를 마치겠습니다.


반응형

'OS > linux' 카테고리의 다른 글

linux SAMBA  (0) 2016.10.11
linux NFS  (0) 2016.10.10
linux LVM  (0) 2016.10.06
linux RAID  (0) 2016.10.05
linux find, grep  (0) 2016.10.03
TAGS.

Comments