탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris ZFS 관리 설명서 Oracle Solaris 10 8/11 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS와 전통적인 파일 시스템의 차이
4. Oracle Solaris ZFS 저장소 풀 관리
5. Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트
6. Oracle Solaris ZFS 파일 시스템 관리
7. Oracle Solaris ZFS 스냅샷 및 복제 작업
8. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
예 9-1 개별 사용자에게 권한 위임
개별 사용자에게 create 및 mount 권한을 위임할 때는 사용자가 기본 마운트 지점에 대한 권한을 가지도록 해야 합니다.
예를 들어, 사용자 mark에게 tank 파일 시스템에 대한 create 및 mount 권한을 위임하려면 먼저 권한을 설정하십시오.
# chmod A+user:mark:add_subdirectory:fd:allow /tank/home
그런 다음 zfs allow 명령을 사용하여 create, destroy 및 mount 권한을 위임하십시오. 예를 들면 다음과 같습니다.
# zfs allow mark create,destroy,mount tank/home
그러면 사용자 mark가 tank 파일 시스템에서 고유의 파일 시스템을 만들 수 있습니다. 예를 들면 다음과 같습니다.
# su mark mark$ zfs create tank/home/mark mark$ ^D # su lp $ zfs create tank/lp cannot create 'tank/lp': permission denied
예 9-2 그룹에 create 및 destroy 권한 위임
다음 예에서는 staff 그룹의 모두가 tank 파일 시스템에서 파일 시스템을 만들고 마운트하며 고유의 파일 시스템을 삭제할 수 있도록 파일 시스템을 설정하는 방법을 보여 줍니다. 단, staff 그룹 구성원이 다른 사람의 파일 시스템을 삭제할 수는 없습니다.
# zfs allow staff create,mount tank/home # zfs allow -c create,destroy tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy Local+Descendent permissions: group staff create,mount # su cindy cindy% zfs create tank/home/cindy cindy% exit # su mark mark% zfs create tank/home/mark/data mark% exit cindy% zfs destroy tank/home/mark/data cannot destroy 'tank/home/mark/data': permission denied
예 9-3 올바른 파일 시스템 레벨에서 권한 위임
올바른 파일 시스템 레벨에서 사용자 권한을 위임해야 합니다. 예를 들어, 사용자 mark에게는 로컬 및 종속 파일 시스템에 대한 create, destroy 및 mount 권한이 위임되었습니다. 사용자 mark는 tank/home 파일 시스템의 스냅샷을 만들 수 있는 로컬 권한을 위임 받았지만 고유 파일 시스템의 스냅샷을 만들 수 없습니다. 따라서 올바른 파일 시스템 레벨에서 snapshot 권한을 위임 받은 것이 아닙니다.
# zfs allow -l mark snapshot tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy Local permissions: user mark snapshot Local+Descendent permissions: group staff create,mount # su mark mark$ zfs snapshot tank/home@snap1 mark$ zfs snapshot tank/home/mark@snap1 cannot create snapshot 'tank/home/mark@snap1': permission denied
종속 파일 시스템 레벨에서 사용자 mark에게 권한을 위임하려면 zfs allow -d 옵션을 사용하십시오. 예를 들면 다음과 같습니다.
# zfs unallow -l mark snapshot tank/home # zfs allow -d mark snapshot tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy Descendent permissions: user mark snapshot Local+Descendent permissions: group staff create,mount # su mark $ zfs snapshot tank/home@snap2 cannot create snapshot 'tank/home@snap2': permission denied $ zfs snapshot tank/home/mark@snappy
그러면 사용자 mark가 tank/home 파일 시스템 레벨 아래에만 스냅샷을 만들 수 있습니다.
예 9-4 복잡한 위임 권한 정의 및 사용
사용자 또는 그룹에 특정 권한을 위임할 수 있습니다. 예를 들어, 다음 zfs allow 명령은 staff 그룹에 특정 권한을 위임합니다. 또한 tank/home 파일 시스템이 만들어진 후 destroy 및 snapshot 권한이 위임됩니다.
# zfs allow staff create,mount tank/home # zfs allow -c destroy,snapshot tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy,snapshot Local+Descendent permissions: group staff create,mount
사용자 mark는 staff 그룹에 속하므로 tank/home에서 파일 시스템을 만들 수 있습니다. 또한 사용자 mark는 관련 권한을 가지고 있으므로 tank/home/mark2의 스냅샷을 만들 수 있습니다. 예를 들면 다음과 같습니다.
# su mark $ zfs create tank/home/mark2 $ zfs allow tank/home/mark2 ---- Permissions on tank/home/mark2 ---------------------------------- Local permissions: user mark create,destroy,snapshot ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy,snapshot Local+Descendent permissions: group staff create,mount
하지만 사용자 mark는 관련 권한을 가지고 있지 않으므로 tank/home/mark에서 스냅샷을 만들 수 없습니다. 예를 들면 다음과 같습니다.
$ zfs snapshot tank/home/mark2@snap1 $ zfs snapshot tank/home/mark@snap1 cannot create snapshot 'tank/home/mark@snap1': permission denied
이 예에서 사용자 mark는 자신의 홈 디렉토리에 대한 create 권한을 가지고 있으므로 스냅샷을 만들 수 있습니다. 이 시나리오는 파일 시스템이 NFS 마운트 시스템인 경우 유용합니다.
예 9-5 ZFS 위임 권한 집합 정의 및 사용
다음 예에서는 권한 집합 @myset를 만들고 tank 파일 시스템에 대해 staff 그룹에 이 권한 집합과 rename 권한을 위임하는 방법을 보여 줍니다. 사용자 cindy는 staff 그룹에 속하며 tank에서 파일 시스템을 만들 수 있는 권한을 가지고 있지만, 사용자 lp는 tank에서 파일 시스템을 만들 수 있는 권한을 가지고 있지 않습니다.
# zfs allow -s @myset create,destroy,mount,snapshot,promote,clone,readonly tank # zfs allow tank ---- Permissions on tank --------------------------------------------- Permission sets: @myset clone,create,destroy,mount,promote,readonly,snapshot # zfs allow staff @myset,rename tank # zfs allow tank ---- Permissions on tank --------------------------------------------- Permission sets: @myset clone,create,destroy,mount,promote,readonly,snapshot Local+Descendent permissions: group staff @myset,rename # chmod A+group:staff:add_subdirectory:fd:allow tank # su cindy cindy% zfs create tank/data cindy% zfs allow tank ---- Permissions on tank --------------------------------------------- Permission sets: @myset clone,create,destroy,mount,promote,readonly,snapshot Local+Descendent permissions: group staff @myset,rename cindy% ls -l /tank total 15 drwxr-xr-x 2 cindy staff 2 Jun 24 10:55 data cindy% exit # su lp $ zfs create tank/lp cannot create 'tank/lp': permission denied