JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: ZFS 파일 시스템     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  Oracle Solaris ZFS 파일 시스템(소개)

2.  Oracle Solaris ZFS 시작하기

3.  Oracle Solaris ZFS 저장소 풀 관리

4.  ZFS 루트 풀 구성 요소 관리

5.  Oracle Solaris ZFS 파일 시스템 관리

6.  Oracle Solaris ZFS 스냅샷 및 복제 작업

7.  ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호

Solaris ACL 모델

ACL 설정을 위한 구문 설명

ZFS ACL 세트

ACL 상속

ACL 등록 정보

ZFS 파일에 ACL 설정

Verbose 형식으로 ZFS 파일에서 ACL 설정 및 표시

Verbose 형식으로 ZFS 파일에서 ACL 상속 설정

Compact 형식으로 ZFS 파일에서 ACL 설정 및 표시

ZFS 파일에 특수 속성 적용

8.  Oracle Solaris ZFS 위임 관리

9.  Oracle Solaris ZFS 고급 주제

10.  Oracle Solaris ZFS 문제 해결 및 풀 복구

11.  스냅샷 아카이브 및 루트 풀 복구

12.  Oracle Solaris ZFS 권장 방법

A.  Oracle Solaris ZFS 버전 설명

색인

Verbose 형식으로 ZFS 파일에서 ACL 설정 및 표시

chmod 명령을 사용하여 ZFS 파일의 ACL을 수정할 수 있습니다. 다음과 같은 ACL 수정용 chmod 구문은 acl-specification을 사용하여 ACL 형식을 식별합니다. acl-specification에 대한 설명은 ACL 설정을 위한 구문 설명을 참조하십시오.

Verbose ACL 정보는 ls - v 명령을 사용하여 표시됩니다. 예를 들면 다음과 같습니다.

# ls -v file.1
-rw-r--r--   1 root     root      206695 Jul 20 13:43 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

Compact ACL 형식 사용에 대한 자세한 내용은 Compact 형식으로 ZFS 파일에서 ACL 설정 및 표시를 참조하십시오.

예 7-1 ZFS 파일의 단순 ACL 수정

이 절에서는 기존 UNIX 항목, 사용자, 그룹 및 기타 항목이 ACL에 포함되는 단순 ACL을 설정하고 표시하는 예를 제공합니다.

다음 예에서 단순 ACL이 file.1에 존재합니다.

# ls -v file.1
-rw-r--r--   1 root     root      206695 Jul 20 13:43 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

다음 예에서 group@에 대해 write_data 권한이 부여됩니다.

# chmod A1=group@:read_data/write_data:allow file.1
# ls -v file.1
-rw-rw-r--   1 root     root      206695 Jul 20 13:43 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/write_data:allow
     2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

다음 예에서 file.1에 대한 권한이 644로 다시 설정됩니다.

# chmod 644 file.1
# ls -v file.1
-rw-r--r--   1 root     root      206695 Jul 20 13:43 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

예 7-2 ZFS 파일에 복잡한 ACL 설정

이 절은 복잡한 ACL 설정 및 표시의 예를 제공합니다.

다음 예에서 test.dir 디렉토리의 사용자 gozer에 대해 read_data/execute 권한이 추가됩니다.

# chmod A+user:gozer:read_data/execute:allow test.dir
# ls -dv test.dir
drwxr-xr-x+  2 root     root           2 Jul 20 14:23 test.dir
     0:user:gozer:list_directory/read_data/execute:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

다음 예에서 사용자 gozer에 대한 read_data/execute 권한이 제거됩니다.

# chmod A0- test.dir
# ls -dv test.dir
drwxr-xr-x   2 root     root           2 Jul 20 14:23 test.dir
     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

예 7-3 ZFS 파일의 권한과 ACL 상호 작용

다음 ACL 예에서 ACL 설정 후 파일/디렉토리의 권한 비트 변경 사이의 상호 작용을 보여줍니다.

다음 예에서 단순 ACL이 file.2에 존재합니다.

# ls -v file.2
-rw-r--r--   1 root     root        2693 Jul 20 14:26 file.2
     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

다음 예에서 ACL allow 권한이 everyone@에서 제거됩니다.

# chmod A2- file.2
# ls -v file.2
-rw-r-----   1 root     root        2693 Jul 20 14:26 file.2
     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

이 출력 결과에서 파일의 권한 비트는 644에서 640으로 재설정됩니다. everyone@에 대한 ACL 허용 권한을 제거할 때 everyone@에 대한 읽기 권한이 파일의 권한 비트에서 효과적으로 제거되었습니다.

다음 예에서 기존 ACL이 everyone@에 대한 read_data/write_data 권한으로 바뀝니다.

# chmod A=everyone@:read_data/write_data:allow file.3
# ls -v file.3
-rw-rw-rw-   1 root     root        2440 Jul 20 14:28 file.3
     0:everyone@:read_data/write_data:allow

이 출력 결과에서 chmod 구문은 효과적으로 기존 ACL을 owner/group/everyone@에 대한 read_data/write_data:allow 권한(읽기/쓰기)으로 바꿉니다. 이 모델에서 everyone@은 모든 사용자나 그룹에 대한 액세스를 지정합니다. 소유자 및 그룹에 대한 권한을 대체할 owner@ 또는 group@ ACL 항목이 존재하지 않으므로 권한 비트가 666으로 설정됩니다.

다음 예에서 기존 ACL이 사용자 gozer에 대한 읽기 권한으로 바뀝니다.

# chmod A=user:gozer:read_data:allow file.3
# ls -v file.3
----------+  1 root     root        2440 Jul 20 14:28 file.3
     0:user:gozer:read_data:allow

이 출력 결과에서는 전통적인 파일 권한 구성 요소인 owner@, group@, everyone@에 대한 ACL 항목이 존재하지 않으므로 파일 권한이 000으로 계산됩니다. 파일 소유자는 다음과 같이 권한(및 ACL)을 재설정하여 이 문제를 해결할 수 있습니다.

# chmod 655 file.3
# ls -v file.3
-rw-r-xr-x   1 root     root        2440 Jul 20 14:28 file.3
     0:owner@:execute:deny
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/execute/read_attributes/read_acl
         /synchronize:allow
     3:everyone@:read_data/read_xattr/execute/read_attributes/read_acl
         /synchronize:allow

예 7-4 ZFS 파일의 단순 ACL 복원

chmod 명령을 사용하여 파일 또는 디렉토리의 모든 복잡한 ACL을 제거할 수 있습니다.

다음 예에서 2개의 복잡한 ACE가 test5.dir에 존재합니다.

# ls -dv test5.dir
drwxr-xr-x+  2 root     root           2 Jul 20 14:32 test5.dir
     0:user:lp:read_data:file_inherit:deny
     1:user:gozer:read_data:file_inherit:deny
     2: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
     3:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     4:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

다음 예에서 사용자 gozerlp에 대한 복잡한 ACL이 제거됩니다. 남은 ACL은 owner@, group@, everyone@에 대한 기본값을 포함합니다.

# chmod A- test5.dir
# ls -dv test5.dir
drwxr-xr-x   2 root     root           2 Jul 20 14:32 test5.dir
     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

예 7-5 ZFS 파일에 ACL 세트 적용

ACL 권한을 개별적으로 적용할 필요가 없도록 ACL 세트를 사용할 수 있습니다. ACL 세트에 대한 자세한 내용은 ZFS ACL 세트를 참조하십시오.

예를 들어, 다음과 같이 read_set를 적용할 수 있습니다.

# chmod A+user:otto:read_set:allow file.1
# ls -v file.1
-r--r--r--+  1 root     root      206695 Jul 20 13:43 file.1
     0:user:otto:read_data/read_xattr/read_attributes/read_acl:allow
     1:owner@:read_data/read_xattr/write_xattr/read_attributes
         /write_attributes/read_acl/write_acl/write_owner/synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

다음과 같이 write_setread_set를 적용할 수 있습니다.

# chmod A+user:otto:read_set/write_set:allow file.2
# ls -v file.2
-rw-r--r--+  1 root     root        2693 Jul 20 14:26 file.2
     0:user:otto:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl:allow
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

Verbose 형식으로 ZFS 파일에서 ACL 상속 설정

파일 및 디렉토리에 ACL을 상속하거나 상속하지 않는 방법을 결정할 수 있습니다. 기본적으로 ACL은 전파되지 않습니다. 디렉토리에 복잡한 ACL을 설정하면 ACL이 후속 디렉토리에서 상속되지 않습니다. 파일 또는 디렉토리에 ACL의 상속을 지정해야 합니다.

aclinherit 등록 정보는 파일 시스템에 전역적으로 설정할 수 있습니다. 기본적으로 aclinheritrestricted로 설정됩니다.

자세한 내용은 ACL 상속을 참조하십시오.

예 7-6 기본 ACL 상속 부여

기본적으로 ACL은 디렉토리 구조를 통해 전파되지 않습니다.

다음 예에서 read_data/write_data/execute의 복잡한 ACE가 test.dir의 사용자 gozer에 적용됩니다.

# chmod A+user:gozer:read_data/write_data/execute:allow test.dir
# ls -dv test.dir
drwxr-xr-x+  2 root     root           2 Jul 20 14:53 test.dir
     0:user:gozer:list_directory/read_data/add_file/write_data/execute:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

test.dir 하위 디렉토리를 만들 경우 사용자 gozer에 대한 ACE가 전파되지 않습니다. 사용자 gozer는 자신에게 부여된 sub.dir 권한이 파일 소유자, 그룹 구성원 또는 everyone@으로 액세스하는 경우 sub.dir에만 액세스할 수 있습니다.

# mkdir test.dir/sub.dir
# ls -dv test.dir/sub.dir
drwxr-xr-x   2 root     root           2 Jul 20 14:54 test.dir/sub.dir
     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

예 7-7 파일 및 디렉토리에 ACL 상속 부여

다음 일련의 예는 file_inherit 플래그를 설정할 때 적용되는 파일 및 디렉토리 ACE를 식별합니다.

다음 예에서 사용자 gozer에 대해 test2.dir 디렉토리의 파일에 대한 read_data/write_data 권한이 추가되므로 이 사용자가 새로 만든 파일에 읽기 액세스할 수 있습니다.

# chmod A+user:gozer:read_data/write_data:file_inherit:allow test2.dir
# ls -dv test2.dir
drwxr-xr-x+  2 root     root           2 Jul 20 14:55 test2.dir
     0:user:gozer:read_data/write_data:file_inherit:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

다음 예에서 사용자 gozer의 권한이 새로 만든 test2.dir/file.2 파일에 적용됩니다. 부여된 ACL 상속 read_data:file_inherit:allow로 인해 사용자 gozer가 새로 만든 파일의 내용을 읽을 수 있습니다.

# touch test2.dir/file.2
# ls -v test2.dir/file.2
-rw-r--r--+  1 root     root           0 Jul 20 14:56 test2.dir/file.2
     0:user:gozer:read_data:inherited:allow
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

이 파일 시스템에 대한 aclinherit 등록 정보가 기본 모드 restricted로 설정되므로 사용자 gozerfile.2에 대한 write_data 권한이 없습니다(파일의 그룹 권한이 허용하지 않음).

file_inherit 또는 dir_inherit 플래그를 설정할 때 적용되는 inherit_only 권한을 사용하여 디렉토리 구조를 통해 ACL을 전파할 수 있습니다. 따라서 사용자 gozer는 파일 소유자이거나 파일 그룹 소유자의 구성원이 아닌 한, everyone@에서만 권한이 부여되거나 거부됩니다. 예를 들면 다음과 같습니다.

# mkdir test2.dir/subdir.2
# ls -dv test2.dir/subdir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:57 test2.dir/subdir.2
     0:user:gozer:list_directory/read_data/add_file/write_data:file_inherit
         /inherit_only/inherited:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

다음 일련의 예는 file_inheritdir_inherit 플래그를 설정할 때 적용되는 파일 및 디렉토리 ACL을 식별합니다.

다음 예에서 사용자 gozer에 대해 새로 만든 파일/디렉토리에 상속되는 읽기, 쓰기, 실행 권한이 부여됩니다.

# chmod A+user:gozer:read_data/write_data/execute:file_inherit/dir_inherit:allow 
test3.dir
# ls -dv test3.dir
drwxr-xr-x+  2 root     root           2 Jul 20 15:00 test3.dir
     0:user:gozer:list_directory/read_data/add_file/write_data/execute
         :file_inherit/dir_inherit:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

아래 출력에서 inherited 텍스트는 ACE가 상속되었음을 나타내는 정보 메시지입니다.

# touch test3.dir/file.3
# ls -v test3.dir/file.3
-rw-r--r--+  1 root     root           0 Jul 20 15:01 test3.dir/file.3
     0:user:gozer:read_data:inherited:allow
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

위 예에서 group@everyone@에 대한 부모 디렉토리의 권한 비트가 쓰기 및 실행 권한을 거부하므로 사용자 gozer에 쓰기 및 실행 권한이 거부됩니다. 기본 aclinherit 등록 정보는 restricted이며, write_dataexecute 권한이 상속되지 않습니다.

다음 예에서 사용자 gozer에 대해 새로 만든 파일에 상속되는 읽기, 쓰기, 실행 권한이 부여되지만 후속 디렉토리 내용으로 전파되지 않습니다.

# chmod A+user:gozer:read_data/write_data/execute:file_inherit/no_propagate:allow 
test4.dir
# ls -dv test4.dir
drwxr--r--+  2 root     root           2 Mar  1 12:11 test4.dir
     0:user:gozer:list_directory/read_data/add_file/write_data/execute
         :file_inherit/no_propagate:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/read_attributes/read_acl
         /synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/read_attributes/read_acl
         /synchronize:allow

다음 예에 나타난 것처럼, gozerread_data/write_data/execute 권한이 소유 그룹의 권한에 따라 축소됩니다.

# touch test4.dir/file.4
# ls -v test4.dir/file.4
-rw-r--r--+  1 root     root           0 Jul 20 15:09 test4.dir/file.4
     0:user:gozer:read_data:inherited:allow
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

예 7-8 ACL 상속 모드를 Pass Through로 설정한 채 ACL 상속

tank/cindy 파일 시스템의 aclinherit 등록 정보가 passthrough로 설정된 경우 사용자 gozer가 새로 생성된 file.5에 대해 test4.dir에 적용된 ACL을 상속합니다.

# zfs set aclinherit=passthrough tank/cindy
# touch test4.dir/file.5
# ls -v test4.dir/file.5
-rw-r--r--+  1 root     root           0 Jul 20 14:16 test4.dir/file.5
     0:user:gozer:read_data/write_data/execute:inherited:allow
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

예 7-9 ACL 상속 모드를 Discard로 설정한 채 ACL 상속

파일 시스템의 aclinherit 등록 정보가 discard로 설정된 경우 디렉토리의 권한 비트가 변경될 때 ACL이 잠재적으로 무시될 수 있습니다. 예를 들면 다음과 같습니다.

# zfs set aclinherit=discard tank/cindy
# chmod A+user:gozer:read_data/write_data/execute:dir_inherit:allow test5.dir
# ls -dv test5.dir
drwxr-xr-x+  2 root     root           2 Jul 20 14:18 test5.dir
     0:user:gozer:list_directory/read_data/add_file/write_data/execute
         :dir_inherit:allow
     1: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
     2:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

나중에 디렉토리의 권한 비트를 축소하기로 결정하면 복잡한 ACL이 무시됩니다. 예를 들면 다음과 같습니다.

# chmod 744 test5.dir
# ls -dv test5.dir
drwxr--r--   2 root     root           2 Jul 20 14:18 test5.dir
     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/read_attributes/read_acl
         /synchronize:allow
     2:everyone@:list_directory/read_data/read_xattr/read_attributes/read_acl
         /synchronize:allow

예 7-10 ACL 상속 모드를 Noallow로 설정한 채 ACL 상속

다음 예에서 2개의 복잡한 ACL이 파일 상속과 함께 설정됩니다. 한 ACL은 read_data 권한을 허용하고, 한 ACL은 read_data 권한을 거부합니다. 이 예는 동일한 chmod 명령에서 두 ACE를 지정하는 방법을 보여줍니다.

# zfs set aclinherit=noallow tank/cindy
# chmod A+user:gozer:read_data:file_inherit:deny,user:lp:read_data:file_inherit:allow 
test6.dir
# ls -dv test6.dir
drwxr-xr-x+  2 root     root           2 Jul 20 14:22 test6.dir
     0:user:gozer:read_data:file_inherit:deny
     1:user:lp:read_data:file_inherit:allow
     2: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
     3:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     4:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

다음 예에 나타난 것처럼, 새 파일을 만들 때 read_data 권한을 허용하는 ACL이 무시됩니다.

# touch test6.dir/file.6
# ls -v test6.dir/file.6
-rw-r--r--+  1 root     root           0 Jul 20 14:23 test6.dir/file.6
     0:user:gozer:read_data:inherited:deny
     1:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow