|
||||||||||||||||||||||||||||||||||||||||
1. Solaris ZFS File System (Introduction) 3. ZFS and Traditional File System Differences 6. Working With ZFS Snapshots and Clones 7. Using ACLs to Protect ZFS Files 8. ZFS Delegated Administration Overview of ZFS Delegated Administration Using ZFS Delegated Administration |
Delegating ZFS PermissionsYou can use the zfs allow command to grant permissions on ZFS datasets to non-root users in the following ways:
The following table describes the operations that can be delegated and any dependent permissions that are required to do the delegated operations.
In addition, you can delegate the following ZFS properties to non-root users:
Some of the properties listed above can only set at dataset creation time. For a description of these properties, see Introducing ZFS Properties. Syntax Descriptions for Delegating PermissionsThe zfs allow syntax is as follows: # zfs allow -[l d u g e c s] everyone|user|group[,,...] perm|@setname ,...] filesystem| volume The following zfs allow syntax (in bold) identifies to whom the permissions are delegated: zfs allow [-uge] | user | group | everyone [,...] filesystem | volume Multiple entities can be specified as a comma-separated list. If none of the -uge options are specified, then the argument is interpreted preferentially as the keyword everyone, then as a user name, and lastly, as a group name. To specify a user or group named “everyone,” use the -u or -g options. To specify a group with the same name as a user, use the -g option. The following zfs allow syntax (in bold) identifies how permissions and permission sets are specified: zfs allow [-s] ... perm | @setname [,...] filesystem | volume Multiple permissions can be specified as a comma-separated list. Permission names are the same as ZFS subcommands and properties. For more information, see the section above. Permissions can be aggregated into permissions sets and are identified by the -s option. Permission sets can be used by other zfs allow commands for the specified file system and its descendents. Sets are evaluated dynamically, so changes to a set are immediately updated. Permission sets follow the same naming conventions as ZFS file systems, but the name must begin with an at sign (@), and can be no more than 64 characters long. The following zfs allow syntax (in bold) identifies how the permissions are delegated: zfs allow [-ld] ... ... filesystem | volume The -l option identifies if whether the permission is allowed for the specified dataset and not its descendents, unless the -d option is also specified. The -d option indicates that the permission is allowed for the descendent datasets and not for this dataset, unless the -l option is also specified. If neither of the -ld options are specified, then the permissions are allowed for the file system or volume and all of its descendents. Removing ZFS Delegated Permissions (zfs unallow)You can remove previously granted permissions with the zfs unallow command. For example, if you delegated create, destroy, mount, and snapshot permissions as follows: # zfs allow cindys, create,destroy,mount,snapshot tank/cindys # zfs allow tank/cindys ------------------------------------------------------------- Local+Descendent permissions on (tank/cindys) user cindys create,destroy,mount,snapshot ------------------------------------------------------------- You would need to use syntax similar to the following to remove these permissions: # zfs unallow cindys tank/cindys # zfs allow tank/cindys |
|||||||||||||||||||||||||||||||||||||||
|