A comprehensive permission delegation system allows unprivileged users to perform ZFS administration functions. For example, if each user's home directory is a dataset, users can be given permission to create and destroy snapshots of their home directories. A backup user can be given permission to use replication features. A usage statistics script can be allowed to run with access only to the space utilization data for all users. It is even possible to delegate the ability to delegate permissions. Permission delegation is possible for each subcommand and most properties.
zfs allow
	   gives the
	specified user permission to create child datasets under the
	selected parent dataset.  There is a caveat: creating a new
	dataset involves mounting it.  That requires setting the
	FreeBSD someuser create
	  mydatasetvfs.usermount sysctl(8) to
	1 to allow non-root users to mount a
	file system.  There is another restriction aimed at preventing
	abuse: non-root
	users must own the mountpoint where the file system is to be
	mounted.
zfs allow
	   gives the
	specified user the ability to assign any permission they have
	on the target dataset, or its children, to other users.  If a
	user has the someuser allow
	  mydatasetsnapshot permission and the
	allow permission, that user can then grant
	the snapshot permission to other
	users.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
    documentation may be
    sent to <freebsd-questions@FreeBSD.org>.
    Send questions about this document to <freebsd-doc@FreeBSD.org>.