| 跳过导航链接 | |
| 退出打印视图 | |
|
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 将 ZFS 文件系统管理权限委托给非特权用户
zfs allow filesystem|volume
zfs allow [-ldug] everyone|user|group[,...] perm|@setname[,...]
filesystem|volumezfs 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|volumezfs 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 文件系统》。