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 버전 설명

색인

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

권한을 표현하는 14개 고유 문자를 사용하는 Compact 형식으로 ZFS 파일에서 권한을 설정 및 표시할 수 있습니다. Compact 권한을 나타내는 문자는 표 7-2표 7-4에 나열되어 있습니다.

ls -V 명령을 사용하여 파일 및 디렉토리에 대한 Compact ACL 목록을 표시할 수 있습니다. 예를 들면 다음과 같습니다.

# ls -V file.1
-rw-r--r--   1 root     root      206695 Jul 20 14:27 file.1
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

다음은 Compact ACL 출력 결과에 대한 설명입니다.

owner@

소유자가 파일의 내용을 읽고 수정할 수 있습니다( rw=read_data/write_data), (p= append_data). 또한 소유자가 시간 기록, 확장된 속성, ACL과 같은 파일 속성을 수정할 수 있습니다(a=read_attributes, W=write_xattr, R=read_xattr, A=write_attributes, c=read_acl, C=write_acl). 더불어, 소유자가 파일의 소유권을 수정할 수 있습니다(o= write_owner).

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

group@

그룹에 파일(r= read_data) 및 파일 속성(a=read_attributes , R=read_xattr, c= read_acl)에 대한 읽기 권한이 부여됩니다.

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

everyone@

사용자/그룹이 아닌 모든 사람에게 파일 및 파일 속성에 대한 읽기 권한이 부여됩니다(r=read_data, a=append_data, R=read_xattr , c=read_acl, and s= synchronize).

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

Compact ACL 형식은 Verbose ACL 형식과 비교해 다음과 같은 이점이 있습니다.

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

예 7-11 Compact 형식으로 ACL 설정 및 표시

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

# ls -V file.1
-rw-r--r--   1 root     root      206695 Jul 20 14:27 file.1
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

이 예에서 file.1의 사용자 gozer에 대해 read_data/execute 권한이 추가됩니다.

# chmod A+user:gozer:rx:allow file.1
# ls -V file.1
-rw-r--r--+  1 root     root      206695 Jul 20 14:27 file.1
             user:gozer:r-x-----------:-------:allow
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

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

# chmod A+user:gozer:rwx:fd:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:33 dir.2
             user:gozer:rwx-----------:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

ls -V 출력 결과에서 Compact chmod 형식으로 권한 및 상속 플래그를 잘라서 붙여 넣을 수 있습니다. 예를 들어, 사용자 gozer에 대한 dir.2의 권한 및 상속 플래그를 dir.2의 사용자 cindy로 복제하려면 권한 및 상속 플래그(rwx-----------:fd-----:allow)를 복사하여 chmod 명령으로 붙여 넣으십시오. 예를 들면 다음과 같습니다.

# chmod A+user:cindy:rwx-----------:fd-----:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:33 dir.2
             user:cindy:rwx-----------:fd-----:allow
             user:gozer:rwx-----------:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

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

aclinherit 등록 정보가 passthrough로 설정된 파일 시스템은 상속 당시 ACL 항목에 어떤 수정도 없이 모든 상속 가능한 ACL 항목을 상속받습니다. 이 등록 정보가 passthrough로 설정된 경우 상속 가능한 ACE로 결정된 권한 모드로 파일이 생성됩니다. 권한 모드에 영향을 주는 상속 가능한 ACE가 없는 경우 응용 프로그램에서 요청한 모드에 따라 권한 모드가 설정됩니다.

다음 예는 Compact ACL 구문을 사용하여 aclinherit 모드를 passthrough로 설정한 채 권한 비트를 상속하는 방법을 보여줍니다.

이 예에서 ACL은 상속을 강제하도록 test1.dir에 설정됩니다. 새로 만든 파일에 대해 owner@, group@, everyone@ ACL 항목을 만듭니다. 새로 만든 디렉토리는 @owner, group@, everyone@ ACL 항목을 상속합니다.

# zfs set aclinherit=passthrough tank/cindy
# pwd
/tank/cindy
# mkdir test1.dir
# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,
everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jul 20 14:42 test1.dir
                 owner@:rwxpdDaARWcCos:fd-----:allow
                 group@:rwxp----------:fd-----:allow
              everyone@:--------------:fd-----:allow

이 예에서 새로 만든 파일이 새로 만든 파일로 상속되도록 지정된 ACL을 상속합니다.

# cd test1.dir
# touch file.1
# ls -V file.1
-rwxrwx---+  1 root     root           0 Jul 20 14:44 file.1
                 owner@:rwxpdDaARWcCos:------I:allow
                 group@:rwxp----------:------I:allow
              everyone@:--------------:------I:allow

이 예에서 새로 만든 디렉토리가 이 디렉토리에 대한 액세스를 제어하는 ACE와 앞으로 새로 만들 디렉토리의 자식으로 전파하기 위한 ACE를 모두 상속합니다.

# mkdir subdir.1
# ls -dV subdir.1
drwxrwx---+  2 root     root           2 Jul 20 14:45 subdir.1
                 owner@:rwxpdDaARWcCos:fd----I:allow
                 group@:rwxp----------:fd----I:allow
              everyone@:--------------:fd----I:allow

fd----I 항목은 상속을 전파하기 위한 것이며 액세스 제어 중 고려되지 않습니다.

다음 예에서 상속된 ACE가 존재하지 않는 다른 디렉토리에 단순 ACL로 파일이 생성됩니다.

# cd /tank/cindy
# mkdir test2.dir
# cd test2.dir
# touch file.2
# ls -V file.2
-rw-r--r--   1 root     root           0 Jul 20 14:48 file.2
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

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

aclinherit=passthrough-x가 사용으로 설정된 경우 owner@, group@, everyone@에 대한 실행(x) 권한으로 파일이 생성됩니다(실행 권한이 파일 생성 모드로 설정되고 모드에 영향을 주는 상속 가능한 ACE가 있는 경우에 한함).

다음 예는 aclinherit 모드를 passthrough-x로 설정한 채 실행 권한을 상속하는 방법을 보여줍니다.

# zfs set aclinherit=passthrough-x tank/cindy

다음 ACL은 /tank/cindy/test1.dir에 설정되어 owner@에 대한 실행 가능한 ACL 파일 상속을 제공합니다.

# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,
everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jul 20 14:50 test1.dir
                 owner@:rwxpdDaARWcCos:fd-----:allow
                 group@:rwxp----------:fd-----:allow
              everyone@:--------------:fd-----:allow

파일(file1)이 요청된 권한 0666으로 생성됩니다. 결과 권한은 0660입니다. 생성 모드에서 요청하지 않아서 실행 권한은 상속되지 않았습니다.

# touch test1.dir/file1
# ls -V test1.dir/file1
-rw-rw----+  1 root     root           0 Jul 20 14:52 test1.dir/file1
                 owner@:rw-pdDaARWcCos:------I:allow
                 group@:rw-p----------:------I:allow
              everyone@:--------------:------I:allow

그 다음, testdir 디렉토리에서 cc 컴파일러를 사용하여 t라는 실행 파일이 생성됩니다.

# cc -o t t.c
# ls -V t
-rwxrwx---+  1 root     root        7396 Dec  3 15:19 t
                 owner@:rwxpdDaARWcCos:------I:allow
                 group@:rwxp----------:------I:allow
              everyone@:--------------:------I:allow

결과 권한은 0770입니다. cc가 권한 0777을 요청했기 때문이며, 이에 따라 owner@, group@, everyone@ 항목에서 실행 권한이 상속됩니다.

예 7-14 ZFS 파일에서 chmod 작업과의 ACL 상호 작용

다음 예에서는 특정 aclmodeaclinherit 등록 정보 값이 기존 ACL 권한을 소유 그룹과 일치하도록 줄이거나 확장하기 위해 파일 또는 디렉토리 권한을 변경하는 chmod 작업과 기존 ACL의 상호 작용에 영향을 주는 방법에 대해 설명합니다.

이 예에서 aclmode 등록 정보는 mask로 설정되어 있고, aclinherit 등록 정보는 restricted로 설정되어 있습니다. 이 예의 ACL 권한은 변경 중인 권한을 더 쉽게 보여주는 Compact 모드로 표시됩니다.

원본 파일 및 그룹 소유권과 ACL 권한은 다음과 같습니다.

# zfs set aclmode=mask pond/whoville
# zfs set aclinherit=restricted pond/whoville

# ls -lV file.1
-rwxrwx---+  1 root     root      206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

chown 작업은 file.1에 대한 파일 소유권을 변경하며, 소유자 amy가 출력을 표시합니다. 예를 들면 다음과 같습니다.

# chown amy:staff file.1
# su - amy
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

다음 chmod 작업은 권한을 더 제한적인 모드로 변경합니다. 이 예에서는 수정된 sysadmin 그룹 및 staff 그룹의 ACL 권한이 소유 그룹의 권한을 초과하지 않습니다.

$ chmod 640 file.1
$ ls -lV file.1
-rw-r-----+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:r-----a-R-c---:-------:allow
            group:staff:r-----a-R-c---:-------:allow
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

다음 chmod 작업은 권한을 덜 제한적인 모드로 변경합니다. 이 예에서는 수정된 sysadmin 그룹 및 staff 그룹의 ACL 권한이 복원되어 소유 그룹과 동일한 권한을 허용합니다.

$ chmod 770 file.1
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow