Oracle® Solaris 11.2의 ZFS 파일 시스템 관리

인쇄 보기 종료

업데이트 날짜: 2014년 12월
 
 

ACL 설정을 위한 구문 설명

다음과 같은 두 가지 기본 ACL 형식이 제공됩니다.

  • 단순 ACL - 기존의 UNIX user, groupowner 항목만 포함합니다.

    다음 명령 구문을 사용하여 단순 ACL을 설정하십시오.

    chmod [options] A[index]{+|=}owner@ |group@ |everyone@: \
      access-permissions/...[:inheritance-flags]:deny | allow file
    chmod [options] A-owner@, group@, everyone@: \
      access-permissions/...[:inheritance-flags]:deny | allow file ...
    chmod [options] A[index]- file
  • 복잡한 ACL – 소유자, 그룹 및 모든 사용자뿐만 아니라 더 많은 항목을 포함하거나 상속 플래그 세트를 포함하거나 항목이 기존 방식이 아닌 다른 방식으로 정렬됩니다.

    다음 명령 구문을 사용하여 복잡한 ACL을 설정하십시오.

    chmod [options] A[index]{+|=}user|group:name: \
    access-permissions/...[:inheritance-flags]:deny | allow file
    chmod [options] A-user|group:name: \
    access-permissions/...[:inheritance-flags]:deny | allow file ...
    chmod [options] A[index]- file

다음 목록에서는 단순 및 복잡한 ACL을 설정하기 위해 명령에 사용되는 옵션에 대해 설명합니다.

owner@, group@, everyone@

단순 ACL 구문을 위해 ACL-entry-type을 식별합니다. ACL-entry-types에 대한 설명은 Table 7–1을 참조하십시오.

user or group:ACL-entry-ID=username or groupname

명시적 ACL 구문을 위해 ACL-entry-type을 식별합니다. 사용자 및 그룹 ACL-entry-typeACL-entry-ID, username 또는 groupname도 포함해야 합니다. ACL-entry-types에 대한 설명은 Table 7–1을 참조하십시오.

access-permissions/.../

부여 또는 거부되는 액세스 권한을 식별합니다. ACL 액세스 권한에 대한 설명은 Table 7–2를 참조하십시오.

inheritance-flags

ACL 상속 플래그의 선택적 목록을 식별합니다. ACL 상속 플래그에 대한 설명은 Table 7–4를 참조하십시오.

deny | allow

액세스 권한이 부여 또는 거부되는지 여부를 식별합니다.

다음 예에서 owner@, group@ 또는 everyone@에 대한 ACL-entry-ID 값이 존재하지 않습니다.

group@:write_data/append_data/execute:deny

다음 예에서 특정 사용자(ACL-entry-type)가 ACL에 포함되므로 ACL-entry-ID가 있습니다.

0:user:joe:list_directory/read_data/execute:allow

ACL 항목이 다음과 유사하게 표시됩니다.

2:group@:write_data/append_data/execute:deny

이 예에서 2 또는 index-ID 지정은 소유자, 특정 UID, 그룹, 모든 사람에 대한 여러 항목이 포함된 대형 ACL에서 ACL 항목을 식별합니다. chmod 명령에 index-ID를 지정하여 수정할 ACL의 부분을 식별할 수 있습니다. 예를 들어, 다음과 같이 인덱스 ID 3을 chmod 명령에 A3으로 식별할 수 있습니다.

chmod A3=user:venkman:read_acl:allow filename

다음 표에서는 owner, group 및 other의 ACL 표현인 ACL 항목 유형을 설명합니다.

표 7-1  ACL 항목 유형
ACL 항목 유형
설명
owner@
객체의 소유자에 부여된 액세스를 지정합니다.
group@
객체의 소유 그룹에 부여된 액세스를 지정합니다.
everyone@
다른 ACL 항목과 일치하지 않는 모든 사용자나 그룹에 부여된 액세스를 지정합니다.
user
사용자 이름으로 객체의 추가 사용자에 부여된 액세스를 지정합니다. ACL-entry-IDusername 또는 userID를 포함해야 합니다. 값이 유효한 숫자 UID나 username이 아닐 경우 잘못된 ACL 항목 유형입니다.
group
그룹 이름으로 객체의 추가 그룹에 부여된 액세스를 지정합니다. ACL-entry-IDgroupname 또는 groupID를 포함해야 합니다. 값이 유효한 숫자 GID나 groupname이 아닐 경우 잘못된 ACL 항목 유형입니다.

다음 표에 ACL 액세스 권한이 설명됩니다.

표 7-2  ACL 액세스 권한
액세스 권한
Compact 액세스 권한
설명
add_file
w
새 파일을 디렉토리에 추가하는 권한입니다.
add_subdirectory
p
디렉토리에 하위 디렉토리를 만드는 권한입니다.
append_data
p
현재 구현되지 않습니다.
delete
d
파일을 삭제하는 권한입니다. 특정 delete 권한 동작에 대한 자세한 내용은 Table 7–3을 참조하십시오.
delete_child
D
디렉토리 내의 파일 또는 디렉토리를 삭제하는 권한입니다. 특정 delete_child 권한 동작에 대한 자세한 내용은 Table 7–3을 참조하십시오.
execute
x
파일을 실행하거나 디렉토리의 내용을 검색하는 권한입니다.
list_directory
r
디렉토리의 내용을 나열하는 권한입니다.
read_acl
c
ACL(ls)을 읽는 권한입니다.
read_attributes
a
파일의 기본 속성(비ACL)을 읽는 권한입니다. 기본 속성은 stat 레벨 속성으로 간주됩니다. 이 액세스 마스크 비트를 허용하면 엔티티가 ls(1) 및 stat(2)를 실행할 수 있습니다.
read_data
r
파일의 내용을 읽는 권한입니다.
read_xattr
R
파일의 확장된 속성을 읽거나 파일의 확장된 속성 디렉토리에서 조회를 수행하는 권한입니다.
synchronize
s
현재 구현되지 않습니다.
write_xattr
W
확장된 속성을 만들거나 확장된 속성 디렉토리에 쓰는 권한입니다.
이 권한을 사용자에 부여하면 사용자가 파일의 확장된 속성 디렉토리를 만들 수 있습니다. 속성 파일의 권한은 사용자의 속성 액세스를 제어합니다.
write_data
w
파일의 내용을 수정하거나 바꾸는 권한입니다.
write_attributes
A
파일 또는 디렉토리와 연관된 시간을 모든 값으로 변경하는 권한입니다.
write_acl
C
ACL에 쓰는 권한, 또는 chmod 명령을 사용하여 ACL을 수정하는 능력입니다.
write_owner
o
파일의 소유자나 그룹을 변경하는 권한입니다. 또는 파일에 chown 또는 chgrp 명령을 실행하는 능력입니다.
파일의 소유권을 취하는 권한, 또는 파일의 그룹 소유권을 사용자가 구성원으로 속한 그룹으로 변경하는 권한입니다. 파일 또는 그룹 소유권을 모든 사용자나 그룹으로 변경하려면 PRIV_FILE_CHOWN 권한이 필요합니다.

다음 표에서는 ACL deletedelete_child 동작에 대해 자세히 설명합니다.

표 7-3  ACL deletedelete_child 권한 동작
부모 디렉토리 권한
대상 객체 권한
ACL에서 삭제 허용
ACL에서 삭제 거부
삭제 권한이 지정되지 않음
ACL에서 delete_child 허용
허용
허용
허용
ACL에서 delete_child 거부
허용
거부
거부
ACL에서 writeexecute만 허용
허용
허용
허용
ACL에서 writeexecute 거부
허용
거부
거부

ZFS ACL 세트

다음 ACL 조합은 개별 권한을 별도로 설정하는 대신 ACL 세트로 적용할 수 있습니다. 다음과 같은 ACL 세트를 사용할 수 있습니다.

ACL 세트 이름
포함된 ACL 권한
full_set
모든 권한
modify_set
write_aclwrite_owner를 제외한 모든 권한
read_set
read_data, read_attributes, read_xattrread_acl
write_set
write_data, append_data, write_attributeswrite_xattr

이러한 ACL 세트는 미리 정의되며 수정할 수 없습니다.