본문으로 바로가기

ACL

category SECURITY/Linux 2017. 3. 28. 22:36

ACL(Access Control List)

 

- 파일마다 접근 목록을 가지고 있다.

- mask : 파일의 실제 권한을 나타낸다.

- 디렉터리 파일은 두 개의 목록을 가질 수 있다.

  1) 디렉터리 파일의 ACL

  2) Default (디렉터리내에 생성될 파일들의 ACL)

- 일반 파일은 디폴트 항목을 가질 수 없다.

- default는 디렉터리 항목에서만 추가가 가능하다.

 

- getfacl [디렉터리/ 파일]

  추가된 permission을 확인할 수 있다.

- setfacl [옵션] [디렉터리/ 파일]

  chmod 명령보다 더 다양한 권한을 줄 수 있고, permission을 수정할 때 사용한다.

 

 

예를 들어보자면

현재 아래와 같은 그룹과 사용자가 있다고 하자.

adminuser(그룹) - anchor(사용자)

exam(그룹) - wave(사용자)

해당 study라는 디렉터리는 adminuser그룹에 사용자에게 접근이 가능해야한다.

(여기서 접근이라는 의미는 ls, cd가 가능하다는 얘기이고, 생성과 삭제는 안된다는 얘기이다.) 

이럴때에는 ACL를 설정하지 않아도 chown :adminuser /study 와 chmod 750 /study 를 사용해서 설정이 가능하다.

하지만 exam그룹에 있는 wave 사용자는 접근이 불가능하다. 이럴때 exam 그룹에 접근과 생성, 삭제가 가능하다고 설정을 하려면 ACL을 설정을 해줘야 한다.

 

ACL 설정으로 setfacl을 exam 그룹을 rwx를 가능하게 설정해주면 wave로 로그인 해서 파일을 생성하는 것을 볼 수 있다.

여기서 drwxrwx---+  +는 ACL이 설정되었다는 것을 보여준다. ACL설정으로 나타나니 기본 그룹설정과 다르다는 것을 잊으면 안된다.

anchor는 현재 기본 그룹을 따라가며 생성과 삭제가 안되는 것을 볼 수 있다.

wave는 ACL exam그룹을 설정해주었기 때문에 파일이 생성되었다는 것을 볼 수 있다.

여기서 mask라는 값을 바꾸게 되어버리면 어떻게 될까? 설정을 mask = rwx 에서 mask = r-x로 바꾸어 보았다.

바꾸게 되면 effective 값이 표시가 된다. effective는 현재 권한으로 exam 그룹이 rwx를 갖고 있다고해도 rx 밖에 쓰지를 못하게된다.

exam 그룹에 있는 wave로 file을 생성하려고 했으나 생성되지 않았다. 따라서 mask 값을 적용받게 되는 것이다.

mask값을 변경하는 것은 모든 파일을 ACL권한을 설정할 때 주로 사용된다.

default 권한에 대해서 설명하겠습니다. (출처 : http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/)

 

 

 

 

'SECURITY > Linux' 카테고리의 다른 글

쉘에 대한 이해2  (0) 2017.03.28
쉘에 대한 이해1  (0) 2017.03.28
특수권한  (0) 2017.03.26
기본권한  (0) 2017.03.23
사용자 관리  (0) 2017.03.23