跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 将 ZFS 文件系统管理权限委托给非特权用户
zfs allow filesystem|volume
zfs allow [-ldug] everyone|user|group[,...] perm|@setname[,...] filesystem|volume
zfs allow [-ld] -e perm|@setname[,...] filesystem|volume
zfs allow -c perm|@setname[,...] filesystem|volume
zfs allow -s @setname perm|@setname[,...] filesystem|volume
zfs unallow [-rldug] everyone|user|group[,...] [perm|@setname[,... ]] filesystem|volume
zfs unallow [-rld] -e [perm|@setname[,... ]] filesystem|volume
zfs unallow [-r] -c [perm|@setname[ ... ]] filesystem|volume
zfs unallow [-r] -s @setname [perm|@setname[,... ]] filesystem|volume
zfs allow 命令可用于将权限委托给非特权用户,以便管理 ZFS 存储池中的 ZFS 文件系统,如 zpool(1M) 中所述。可以使用 zfs unallow 命令撤消管理权限。
权限通常是指使用 ZFS 子命令或更改 ZFS 属性的能力。以下列出了可用的权限:
NAME TYPE NOTES allow subcommand Must also have the permission that is being allowed clone subcommand Must also have the 'create' ability and 'mount' ability in the origin file system create subcommand Must also have the 'mount' ability destroy subcommand Must also have the 'mount' ability diff subcommand Allows user to compare differences between snapshots of a ZFS dataset hold subcommand Allows adding a user hold to a snapshot key subcommand Allows key loading or unloading keychange other Allows wrapping key change and re-key mount subcommand Allows mount/umount of ZFS datasets promote subcommand Must also have the 'mount' and 'promote' ability in the origin file system receive subcommand Must also have the 'mount' and 'create' ability release subcommand Allows releasing a user hold which might destroy the snapshot rename subcommand Must also have the 'mount' and 'create' ability in the new parent rollback subcommand send subcommand share subcommand Allows sharing file systems over NFS or SMB protocols snapshot subcommand groupquota other Allows accessing any groupquota@... property groupused other Allows reading any groupused@... property userprop other Allows changing any user property userquota other Allows accessing any userquota@... property userused other Allows reading any userused@... property aclinherit property aclmode property atime property canmount property casesensitivity property checksum property compression property copies property dedup property devices property encryption property exec property keysource property logbias property mlslabel property mountpoint property nbmand property normalization property primarycache property quota property readonly property recordsize property refquota property refreservation property reservation property rstchown property secondarycache property setuid property sharenfs property sharesmb property snapdir property sync property utf8only property version property volblocksize property volsize property vscan property xattr property zoned property
修改状态的所有子命令将以原始形式永久记录到池中。
显示帮助消息。
显示 zfs 命令的用法信息。可以显示特定命令、属性或委托权限的帮助。如果显示特定命令或属性的帮助,将显示命令语法或属性值。在不带任何参数的情况下使用 zfs help 将显示完整的 zfs 命令列表。
显示已在指定的文件系统或卷中委托的权限。有关更多信息,请参见 zfs allow 的其他形式。
将文件系统的 ZFS 管理权限委托给非特权用户。
指定权限将要委托给的用户。可以按逗号分隔的列表形式指定多个实体。如果未指定两个 -ug 选项中的任何一个,则优先将该参数解释为关键字 everyone,然后解释为用户名,最后解释为组名。要指定名为 "everyone" 的用户或组,请使用 -u 或 -g 选项。要将同名的组指定为用户,请使用 -g 选项。
指定权限将委托给 everyone。可以按逗号分隔的列表形式指定多个权限。权限名称与 ZFS 子命令和属性的名称相同。请参见下面的属性列表。可以指定以 at 符号 (@) 开头的属性集名称。有关详细信息,请参见下面的 -s 格式。
指定将委托权限的位置。如果 -ld 两个选项均未指定或同时指定了这两个选项,则权限允许用于文件系统或卷及其所有后代。如果仅使用 -l 选项,则仅在本地允许用于指定的文件系统。如果仅使用 -d 选项,则仅允许用于后代文件系统。
设置“创建时间”权限。这些权限在本地授予给任何新创建的后代文件系统的创建者。
定义权限或向权限集内添加权限。其他 zfs allow 命令可将权限集用于指定的文件系统及其后代。可以对权限集进行动态评估,因此对权限集的更改可立即反映。权限集与 ZFS 文件系统遵循相同的命名限制,但名称必须以 "at 符号" (@) 开头,且长度不能超过 64 个字符。
删除通过 zfs allow 命令授予的权限。未显式拒绝任何权限,因此授予的其他权限仍有效。例如,如果权限是由祖先授予的。如果未指定任何权限,指定 user、group 或 everyone 的所有权限均被删除。指定 everyone(或使用 -e 选项)仅删除授予 everyone 的权限,而不是每个用户和组的所有权限。有关 -ldugec 选项的说明,请参见 zfs allow 命令。
从该文件系统和所有后代中递归删除权限。
从权限集中删除权限。如果未指定权限,将删除所有权限,因此会删除整个权限集。
示例 1 委托对 ZFS 数据集的 ZFS 管理权限
以下示例说明如何设置权限,以便用户 anne 可以创建、销毁和挂载 pool/home/anne,并可以捕获 pool/home/anne 的快照。还会显示对 pool/home/anne 的权限。
# zfs allow anne create,destroy,mount,snapshot pool/home/anne # zfs allow pool/home/anne ---- Permissions on pool/home/anne ----------------------------------- Local+Descendent permissions: user anne create,destroy,mount,snapshot
因为缺省情况下 pool/home/anne 挂载点权限设置为 755,所以用户 anne 将无法在 pool/home/anne 下挂载文件系统。设置类似以下语法的 ACL 可提供挂载点访问权限:
# chmod A+user:anne:add_subdirectory:allow /pool/home/anne
示例 2 委托对 ZFS 数据集的创建时间权限
以下示例显示如何授予 staff 组中的每个人在 pool/home 中创建文件系统的权限。该语法还允许员工成员销毁他们自己的文件系统,但不允许他们销毁其他人的文件系统。还会显示对 pool/home 的权限。
# zfs allow staff create,mount pool/home # zfs allow -c destroy pool/home # zfs allow pool/home ---- Permissions on pool/home ---------------------------------------- Create time permissions: destroy Local+Descendent permissions: group staff create,mount
示例 3 定义和授予对 ZFS 数据集的权限集
以下示例显示如何定义和授予对 pool/home 文件系统的权限集。还会显示对 pool/home 的权限。
# zfs allow -s @pset create,destroy,snapshot,mount pool/home # zfs allow staff @pset pool/home # zfs allow pool/home ---- Permissions on pool/home ---------------------------------------- Permission sets: @pset create,destroy,mount,snapshot Create time permissions: destroy Local+Descendent permissions: group staff @pset,create,mount
示例 4 委托对 ZFS 数据集的属性权限
以下示例显示如何授予对 tank/users 文件系统的设置配额和预留空间的权限。还会显示对 tank/users 的权限。
# zfs allow mark quota,reservation tank/users # zfs allow tank/users ---- Permissions on tank/users --------------------------------------- Local+Descendent permissions: user mark quota,reservation mark% zfs set quota=10G tank/users/tim mark% zfs get quota tank/users/tim NAME PROPERTY VALUE SOURCE tank/users/tim quota 10G local
示例 5 删除对 ZFS 数据集的 ZFS 委托权限
以下示例显示如何从 @pset 权限集中删除 staff 组对 pool/home 文件系统的快照权限。还会显示对 pool/home 的权限。
# zfs unallow -s @pset snapshot pool/home # zfs allow pool/home ---- Permissions on pool/home ---------------------------------------- Permission sets: @pset create,destroy,mount Create time permissions: destroy Local+Descendent permissions: group staff @pset,create,mount
将返回以下退出值:
成功完成。
出现错误。
指定的命令行选项无效。
有关以下属性的说明,请参见 attributes(5):
|
zfs(1M)、zpool(1M)、chmod(2)、chown(2)、attributes(5)
有关使用其他 ZFS 功能的信息,请参见 zfs_encrypt(1M)、zfs_share(1M)、zfs(1M) 和《Oracle Solaris 管理:ZFS 文件系统》。