RHCSA 준비/02. 고급 권한 관리

2.2 접근 제어 리스트 (Access Control List) 소개

Jaden Park 2021. 5. 21. 19:23
  • 파일을 소유한 사용자와 사용자 그룹을 제외한 사용자와 그룹에게 별도로 권한을 부여할 수 있다.
  • 권한이 부여된 그룹의 사용자 중 하나를 지정하여 권한을 제거할 수도 있고 권한의 상속도 설정할 수 있다.

접근 제어 리스트(ACL) 적용 유무 확인

[root@centos7 ~]# ls -l /acl/test.txt
-rw-r-xr--+ 1 root root 11  5월 10 14:53 /acl/test.txt
  • ACL이 적용되어 있을 경우 '+' 기호가 출력

접근 제어 리스트(ACL) 정보 확인

getfacl file-name
[root@centos7 ~]# getfacl /acl/fileA
getfacl: Removing leading '/' from absolute path names
# file: acl
# owner: root
# group: wheel
user::rwx
user:user01:rwx    #effective:r--
group::r-x         #effective:r--
group:group01:rwx  #effective:r--
mask::r--
other::r-x

mask

  • mask 는 ACL을 필터링 해주는 마스크
  • 마스크는 지정된 사용자와 그룹이 사용할 수 있는 최대 권한을 의미
  • 현재 user01 사용자는 rwx 권한을 부여받았지만 실제로 사용할 수 있는 권한(effective)은 r--

접근 제어 리스트의 마스크(ACL mask)

  • ACL의 마스크는 ACL에서 지정된 사용자와 그룹이 사용할 수 있는 최대 권한을 지정
  • 지정된 사용자나 그룹의 권한이 마스크에 설정된 권한을 벗어나게 되면 필터링 되어 effective가 출력되고 해당 권한이 실질적인 권한으로 적용
  • 또한 파일에 ACL이 적용되면 'ls -l' 명령에서 권한 필드 중 사용자 그룹의 권한은 ACL의 마스크의 권한으로 표시
  • 따라서, ACL이 적용된 파일의 권한을 변경할 때는 chmod가 아니라 setfacl 명령으로 권한을 변경

기본 접근 제어 리스트(Default ACL)

  • 기본 ACL은 디렉토리에만 설정할 수 있는 ACL
  • 디렉토리에 기본 ACL을 설정하게 되면 파일을 생성할 때 기본 ACL이 상속
  • 기본 ACL은 default 로 시작
  • default 로 시작하는 ACL은 현재 디렉토리의 ACL에 영향을 주지 않고 해당 디렉토리 아래에 생성되는 파일에게 권한을 상속 시켜주는 역할
[root@centos7 ~]# getfacl /acl
getfacl: Removing leading '/' from absolute path names
# file: acl
# owner: root
# group: root
user::rwx
group::r-x
group:alluser:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:alluser:rwx
default:mask::rwx
default:other::r-x

텍스트 파일 생성 시

  • default 디렉토리 밑으로 텍스트 파일을 생성할 때 불필요한 용도로 실행되지 않도록 실행 권한이 제거됌.
  • 파일을 소유한 사용자의 권한에 실행 권한이 제거되고 마스크에도 실행 권한이 제거

서브 디렉토리 생성 시

  • 생성된 디렉토리에도 ACL 설정까지 함께 상속
  • 텍스트 파일처럼 실행권한이 제거되지 않고 동일하게 적용