Skip to content

ZFS 파일에 ACL 설정

조회 수 5271 추천 수 0 2014.02.03 03:19:16

ZFS로 구현된 대로 ACL은 ACL 항목의 배열로 구성됩니다. ZFS는 모든 파일에 ACL이 있는 순수 ACL 모델을 제공합니다. 일반적으로 ACL은 단순 모델로, 기존 UNIX owner/group/other 항목만 나타냅니다.

ZFS 파일에 여전히 권한 비트와 모드가 있지만, 이러한 값이 ACL의 표현을 더욱 풍부하게 만듭니다. 따라서 파일의 권한을 변경하면 그에 따라 파일의 ACL이 업데이트됩니다. 더불어, 파일/디렉토리에 사용자 액세스가 부여된 복잡한 ACL을 제거할 경우, 그룹 또는 모든 사람에 액세스가 부여된 파일/디렉토리의 권한 비트 때문에 해당 사용자가 파일/디렉토리에 계속 액세스할 수 있었습니다. 모든 액세스 제어 결정이 파일 또는 디렉토리의 ACL에 표현된 권한으로 제어됩니다.

ZFS 파일의 ACL 액세스에 대한 기본 규칙은 다음과 같습니다.

  • ZFS는 ACL에 나열된 순서대로, 위에서 아래로 ACL 항목을 처리합니다.

  • 액세스 요청자와 일치하는 "사람"이 있는 ACL 항목만 처리됩니다.

  • 일단 허용 권한이 부여된 후에는, 동일한 ACL 권한 집합에서 후속 ACL 거부 항목으로 권한을 거부할 수 없습니다.

  • 파일 소유자는 권한이 명시적으로 거부되더라도 비조건부로 write_acl 권한이 부여됩니다. 그렇지 않으면 지정되지 않은 채 남은 권한은 거부됩니다.

    거부 권한의 사례나 액세스 권한이 누락된 경우, 권한 하위 시스템이 파일 소유자 또는 수퍼유저에 대해 어떤 액세스 요청이 거부되는지 결정합니다. 이 방식 덕분에 파일 소유자가 자신의 파일이 잠기는 것을 방지하고 수퍼유저가 복구 목적으로 파일을 수정할 수 있습니다.

디렉토리에 복잡한 ACL을 설정하면 ACL이 디렉토리의 자식에 자동으로 상속되지 않습니다. 복잡한 ACL을 설정하고 디렉토리의 자식에 상속되도록 하려면 ACL 상속 플래그를 사용해야 합니다. 자세한 내용은 표 8-4Verbose 형식으로 ZFS 파일에서 ACL 상속 설정을 참조하십시오.

새 파일을 만들고 umask 값에 의존하는 경우 다음과 비슷한 기본 단순 ACL이 적용됩니다.

$ ls -v file.1
-rw-r--r--   1 root     root      206663 Jun 23 15:06 file.1
     0:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

이 예에서 각 사용자 범주(owner@, group@, everyone@)에 ACL 항목이 있습니다.

이 파일 ACL의 설명은 다음과 같습니다.

0:owner@

소유자가 파일의 내용을 읽고 수정할 수 있습니다(read_data/write_data/append_data/read_xattr). 또한 소유자가 시간 표시 방식, 확장된 속성, ACL과 같은 파일 속성을 수정할 수 있습니다(write_xattr/read_attributes/write_attributes/ read_acl/write_acl). 더불어, 소유자가 파일의 소유권을 수정할 수 있습니다(write_owner:allow).

synchronize 액세스 권한은 현재 구현되지 않습니다.

1:group@

그룹에 파일 및 파일 속성에 대한 읽기 권한이 부여됩니다(read_data/read_xattr/read_attributes/read_acl:allow).

2:everyone@

사용자/그룹이 아닌 모든 사람에게 파일 및 파일 속성에 대한 읽기 권한이 부여됩니다(read_data/read_xattr/read_attributes/read_acl/synchronize:allow). synchronize 액세스 권한은 현재 구현되지 않습니다.

새 디렉토리를 만들고 umask 값에 의존하는 경우 기본 디렉토리 ACL은 다음과 비슷합니다.

$ ls -dv dir.1
drwxr-xr-x   2 root     root           2 Jul 20 13:44 dir.1
     0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
         /append_data/read_xattr/write_xattr/execute/delete_child
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     1:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

이 디렉토리 ACL의 설명은 다음과 같습니다.

0:owner@

소유자가 디렉토리 내용을 읽고 수정하고(list_directory/read_data/add_file/write_data/add_subdirectory/append_data) 시간 기록, 확장 속성, ACL과 같은 파일 속성을 읽고 수정할 수 있습니다(/read_xattr/write_xattr/read_attributes/write_attributes/read_acl/write_acl). 또한 소유자는 컨텐츠를 검색(execute)하고, 파일 또는 디렉토리를 삭제(delete_child)하고, 디렉토리의 소유권을 수정(write_owner:allow)할 수 있습니다.

synchronize 액세스 권한은 현재 구현되지 않습니다.

1:group@

그룹이 디렉토리 내용 및 디렉토리 속성을 나열하고 읽을 수 있습니다. 더불어, 그룹에 디렉토리 내용을 검색할 수 있는 실행 권한이 있습니다(list_directory/read_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow).

2:everyone@

사용자/그룹이 아닌 모든 사람에게 디렉토리 내용 및 디렉토리 속성에 대한 읽기 및 실행 권한이 부여됩니다(list_directory/read_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow). synchronize 액세스 권한은 현재 구현되지 않습니다.

 

 

참고 URL : http://docs.oracle.com/cd/E26925_01/html/E25825/gbace.html

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/250812/22b/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234