♥신뢰할수 있는 뉴스만 전하는♥

Linux : ACL ( Access Control List ) 본문

리눅스

Linux : ACL ( Access Control List )

모두의유머 2019. 5. 31. 10:37

ACL [ setfacl / getfacl ]

 

ACL ( Access Control List )

ACL은 파일과 디렉터리의 확장 속성 중에 하나입니다.

setfacl명령을 통해 파일의 소유자나 그룹을 더 만들고, 다양한 Permission을 줄 수 있습니다.

getfacl명령을 통해 추가된 Permission을 확인할 수 있습니다.

 

이전의 chmod명령의 Permission정책보다 많고, 다양한 권한에 대해 수행할 수 있습니다.

 

# getfacl [옵션] [파일 / 디렉터리]

File / Dir 등 추가적인 Permission을 확인할 때 사용합니다.

→ 옵션

-d 기본 정보에 대해 확인

-R 디렉터리인 경우 하위 디렉터리의 내용까지 확인 가능

※  getfacl은 옵션을 거의 사용하지 않습니다.

<예제 1>

getfacl 명령을 통해 permission을 확인합니다.

 

# setfacl [옵션] [정책] [파일 / 디렉터리]

File / Dir 등 추가적인 Permission을 설정할 때 사용합니다.

→ 옵션

-m (modify)의 약자로 권한을 수정할 때

-x 권한을 삭제할 때

-R 디렉터리인 경우 하위 디렉터리의 내용까지 권한을 변경

-b 권한 및 mask 등 지정한 권한을 전부 제거 (초기화)

 

→ 정책

[entry종류(u,g,o)]:[entry]:[권한]

u:[UID]:[권한] * u를 user라고 쓸 수 있다.

g:[GID]:[권한] * g를 group이라고 쓸 수 있다.

o:[권한] * o를 other이라고 쓸 수 있다.

 

[실습 문제]

NAVER 사원 (N-user)들만 사용할 수 있는 디렉터리 (N01~N10) 생성해준다.

 

NAVER 인턴 사원(I-user)이 맛보기로 NAVER에 소속되어 있는 네이버 사원(N-user)들만 모든 권한이 허가가 되어 있는 N01 ~ N10 디렉터리 중 N01 디렉터리만 인턴 사원(I-user)에게 모든 권한을 허가하려고 한다.

+------------------------------------------+

사원 그룹 : NAVER

사원 계정 : N-user

(N-user는 NAVER 그룹에 소속되어 있다.)

인턴 계정 : I-user

+------------------------------------------+

 

 

 

N01 ~ N10 디렉터리는 NAVER 그룹에 속한 사용자만 권한을 가집니다.

 

 

디렉터리 N01 ~ N10을 확인해줍니다.

 

 

N01 ~ N10 디렉터리는 NAVER 그룹에 속한 사용자만 모든 권한을 가지게 하기 위해서

소유권과 허가권을 변경해줍니다.

 

소유권 변경 명령어 → # chown [소유계정]:[소유그룹][파일]

허가권 변경 명령어 → # chmod

 

 

NAVER 그룹에 소속되어있지 않은 인턴사원 I-user계정으로 테스트해봅니다.

 

 

N01 디렉터리의 ACL을 확인해봅니다.

 

 

# setfacl을 이용해서 권한을 수정해줍니다.

+------------------------------------------+

# setfacl [옵션] [정책] [파일 / 디렉터리]

-m (modify)의 약자로 권한을 수정할 때

u:[UID]:[권한] * u를 user라고 쓸 수 있다.

+------------------------------------------+

 

I-user 계정으로 다시 한번 테스트해줍니다.

N01을 제외한 다른 디렉터리는 당연히 접근이 불가능합니다.

 

 

아래와 같이 ACL이 설정되어있는 파일은 +표시가 보입니다.

 

출처 : https://neul-carpediem.tistory.com/89?category=788657

Comments