Linux/파일 및 디렉토리 관리

리눅스 파일 권한 ⑥ACL: Access Control List 접근 제어 목록 설정, 예시

miracle21 2023. 3. 7. 13:01
반응형

 

 

지금까지 ls -l 명령어로 확인할 수 있는 파일과 디렉토리의 정보 중에서

 

권한과 특수권한, 소유권에 대해서 알아봤습니다.

 

 

이번에는 접근 제어 목록을 뜻하는 ACL에 대해 알아보겠습니다.

 

 

 

ACL

 

 

ACL은 파일과 디렉토리의 확장 속성입니다.

 

 

 

사용자, 그룹, 그외에 대한 소유권을 변경했던 chmod 보다 더 다양한 권한을 부여할 수 있고,

 

chmod의 권한을 건드리지 않고 특정 사용자에게만 권한을 부여할 수 있습니다.

 

 

 

 

setfacl

 

setfacl 명령어는 파일과 디렉토리의 ACL 설정을 수정할 때 사용합니다.

 

setfacl [옵션] [권한] [파일/디렉토리]
옵션
m 권한변경
x 개별 사용자 권한 변경
b 전체사용자 권한 변경
권한
user u:[유저명]:[권한(rwx)]
group g:[그룹명]:[권한(rwx)]
other o:[other명]:[권한(rwx)]

 

 

기본적인 setfacl 설정을 해봅시다.

 

 

 

other 권한이 0인 test 디렉토리에 대해서

 

사용자 a는 읽기와 실행이 가능하도록 권한을 바꿀겁니다.

 

 

 

 

chmod 로 권한 설정이 770으로 된 test 디렉토리

 

 

 

test 디렉토리의 권한이 rwx rwx ---  로 되어있습니다.

 

other 사용자는 test 디렉토리에 접근조차 불가능한 상태입니다.

 

 

일반(other) 사용자 a가 test 디렉토리에 접근하려고 하면 거부된다

 

 

 

setfacl -m u:a:rx test 명령어로

 

test 디렉토리에 대해 사용자 a는 읽고 쓸 수 있도록 바꿔봅시다.

 

 

 

 

 

rwx rwx r-x 로 바뀌었는데 마지막에 + 기호가 붙었습니다.

 

 

 

 

getfacl

 

 

getfacl 명령어는 파일과 디렉토리의 ACL 설정을 확인할 때 사용합니다.

 

이 명령어를 사용해서 위에서 설정한 내용을 확인해봅시다.

 

 

getfacl 파일명

 

 

 

other에 대한 권한은 --- 이지만 user a 의 권한은 r-x 로 되어있습니다.

 

 

 

test 디렉토리 안에 있는 파일들을 조작하면서

 

권한 설정이 제대로 됐는지 확인해봅시다.

 

 

 

 

 

test 디렉토리 안에는

 

소유주가 root인 a 디렉토리와 a.txt 파일

 

소유주가 a인 aa.txt 파일이 있습니다.

 

 

 

cd test 명령어로 디렉토리 실행과

 

touch 명령어로 디렉토리와 파일 읽기를 해봅시다.

 

 

 

 

 접근할 수 없었던 디렉토리가 setfacl 설정 후에는 잘 실행이 됩니다.

 

소유주가 root인 a 디렉토리와 a.txt 파일은 읽을 수 없었지만

 

소유주가 본인인 aa.txt 파일은 읽을 수 있습니다.

 

 

 

 

 

 

 

 

 

[K-Digital Training, 애티버스러닝 교육 내용을 정리한 포스팅입니다.]

반응형