개발/Linux

Linux - ACL (setfacl, getfacl)

잇(IT) 2022. 3. 9. 13:00
728x90

9. ACL

리눅스에서 ACL(Access Control List)란 사용자별로 디렉토리나 파일의 권한을 주는 것을 뜻한다. 특정 사용자, 그룹으로 디렉토리나 파일의 권한을 줄 수 있다.

 

9.1 명령어

9.1.1 setfacl

 

setfacl [옵션] [권한] [디렉토리]

setfacl acl 설정을 할 때 사용하는 명령어다.

-m       : 권한을 설정할 때 사용한다.

-x        : 부분 권한을 삭제할 때 사용한다.

-b        : 전체를 삭제할 때 사용한다.

 

-m 옵션 사용

 

-x 옵션 사용

 

-b 옵션 사용

 

u:a:rwx acl

1:2:3 4

 

1         : u (user 사용자에 관하여 설정할 것이다.)

2         : a (실제 사용자명)

3         : rwx (사용자에게 부여할 권한)

4         : acl을 적용할 디렉토리

 

9.1.1.1 mask 값 설정

#setfacl -m m::[권한] [디렉토리]

 

mask   : mask 값은 기준이 되는 값이다. mask에 권한을 부여하게 되면 다른 모든 사용자들이 어떤 권한을 가지고 있더라도 mask에 부여된 권한까지만 부여받을 수 있다.

 

user:a의 권한이 rwx지만 mask값 설정이 r-x이기 때문에 user:aw권한이 없어진다.

 

9.1.1.2 default 값 설정

#setfacl -m d:[u,g,o중 원하는 설정]:[권한] [디렉토리]

리눅스 acl에서 default 설정을 하게되면 해당 디렉토리의 하위 디렉토리들의 기본 권한 설정이 종속되어 자동으로 설정된다.

 

9.1.2 getfacl

getfacl [디렉토리]

getfacl은 해당 디렉토리의 acl 관련 정보들을 확인할 때 사용하는 명령어다.

 

 

9.1.2.1 getfacl 속성

- mask : mask 값은 기준이 되는 값이다. mask에 권한을 부여하게 되면 다른 모든 사용자들이 어떤 권한을 가지고 있더라도 mask에 부여된 권한까지만 부여받을 수 있다.

user:a의 권한이 rwx지만 mask값 설정이 r-x이기 때문에 user:aw권한이 없어진다.

 

- default : setfacl에서 default를 설정하게 되면 해당 디렉토리 하위 파일이나 디렉토리 권한이 default로 설정된 권한으로 기본 설정이 된다.

 

다음과 같이 userrwx 권한을 grouprwx 권한을 otherrwx 권한을 default값으로 부여하게 되면 아래 설정된 default 값을 확인할 수 있다.

 

또한 acl을 적용하게 되면 ls -l로 디렉토리를 확인해보면 권한을 표시하는 부분 끝에 + 표시가 되어 있는 것을 확인할 수 있다.

728x90

'개발 > Linux' 카테고리의 다른 글

Linux - Quota (group)  (0) 2022.03.10
Linux - Quota (user)  (0) 2022.03.10
Linux - LVM 2 (PV, VG, LV)  (0) 2022.03.08
Linux - LVM (PV, VG, LV)  (0) 2022.03.07
Linux - storage 관리 (LVM)  (0) 2022.03.07