Utilice el comando zfs allow para conceder permisos en conjuntos de datos ZFS a usuarios que no sean root de las maneras siguientes:
Los permisos individuales se pueden conceder a un grupo, un usuario o a todo el mundo.
Los grupos de permisos individuales se pueden conceder como conjunto de permisos a un grupo, un usuario o a todo el mundo.
Los permisos se pueden conceder localmente sólo al conjunto de datos actual o a todos los elementos descendientes de dicho conjunto de datos.
En la tabla siguiente figuran las operaciones que se pueden delegar y los permisos dependientes que se necesitan para efectuar las operaciones delegadas.
Permiso (subcomando) |
Descripción |
Dependencias |
---|---|---|
allow |
Capacidad para conceder a otro usuario los permisos que tiene uno mismo. |
También debe tener el permiso que se está concediendo. |
clone |
Capacidad para clonar cualquier instantánea del conjunto de datos. |
También se debe disponer de las capacidades create y mount en el sistema de archivos original. |
create |
Capacidad para crear conjuntos de archivos descendientes. |
También se debe disponer de la capacidad mount. |
destroy |
Capacidad para destruir un conjunto de datos. |
También se debe disponer de la capacidad mount. |
mount |
Capacidad para montar y desmontar un conjunto de datos, así como para crear y destruir vínculos de dispositivos de volumen. | |
promote |
Capacidad para promover un clon a un conjunto de datos. |
También se debe disponer de las capacidades mount y promote en el sistema de archivos original. |
receive |
Capacidad para crear sistemas de archivos descendientes mediante el comando zfs receive. |
También se debe disponer de las capacidades mount y create. |
rename |
Capacidad para cambiar el nombre a un conjunto de datos. |
También se debe disponer de las capacidades create y mount en el nuevo elemento principal. |
rollback |
Capacidad para invertir una instantánea. | |
send |
Capacidad para enviar un flujo de instantáneas. | |
share |
Capacidad para compartir y anular la compartición de un conjunto de datos. | |
snapshot |
Capacidad para obtener una instantánea de un conjunto de datos. |
Puede delegar el siguiente conjunto de permisos, pero el permiso puede estar limitado a acceso, lectura o cambio:
groupquota
groupused
userprop
userquota
userused
Además, puede delegar las siguientes propiedades de ZFS a usuarios que no sean root:
aclinherit
aclmode
atime
canmount
casesensitivity
checksum
compression
copies
devices
exec
mountpoint
nbmand
normalization
primarycache
quota
readonly
recordsize
refreservation
reservation
secondarycache
setuid
shareiscsi
sharenfs
sharesmb
snapdir
utf8only
version
volblocksize
volsize
vscan
xattr
zoned
Algunas de estas propiedades sólo se pueden establecer al crear el conjunto de datos. Para obtener una descripción de estas propiedades, consulte Introducción a las propiedades de ZFS.
La sintaxis zfs allow es la siguiente:
zfs allow -[ldugecs] everyone|user|group[,...] perm|@setname,...] filesystem| volume |
La siguiente sintaxis de zfs allow (en negrita) identifica a quién se delegan los permisos:
zfs allow [-uge]|user|group|everyone [,...] filesystem | volume |
Se pueden especificar varias entidades en una lista separada por comas. Si no se especifican opciones de -uge, el argumento se interpreta de forma preferente como la palabra clave everyone, después como nombre de usuario y, en último lugar, como grupo de nombre. Para especificar un usuario o grupo denominado “everyone”, utilice la opción -u o -g. Para especificar un grupo con el mismo nombre que un usuario, utilice la opción -g. La opción -c concede permisos de create-time.
La siguiente sintaxis de zfs allow (en negrita) identifica cómo se especifican los permisos y conjuntos de permisos:
zfs allow [-s] ... perm|@setname [,...] filesystem | volume |
Se pueden especificar varios permisos en una lista separada por comas. Los nombres de permisos son los mismos que las propiedades y los subcomandos de ZFS. Para obtener más información, consulte la sección anterior.
Los permisos se pueden agregar a conjuntos de permisos y los identifica la opción -s. Otros comandos de zfs allow pueden utilizar conjuntos de permisos para el sistema de archivos especificado y sus elementos descendientes. Los conjuntos de permisos se evalúan dinámicamente, por lo tanto los cambios que haya en un conjunto se actualizan de manera inmediata. Los conjuntos de permisos siguen las mismas convenciones de denominación que los sistemas de archivos ZFS; sin embargo, el nombre debe comenzar con el signo de arroba (@) y tener un máximo de 64 caracteres.
La siguiente sintaxis de zfs allow (en negrita) identifica cómo se delegan los permisos:
zfs allow [-ld] ... ... filesystem | volume |
La opción -l indica que el permiso se concede para el conjunto de datos especificado pero no a los elementos descendientes, a menos que también se especifique la opción -d. La opción -d indica que el permiso se concede a los conjuntos de datos descendientes y no a este conjunto de datos, a menos que también se especifique la opción -l. Si no se especifica ninguna de las opciones de -ld, los permisos se conceden para el volumen o sistema de archivos y todos sus elementos descendientes.
Mediante el comando zfs unallow se pueden eliminar los permisos que se han concedido.
Por ejemplo, suponga que ha delegado los permisos create, destroy, mount y snapshot de la forma siguiente:
# 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 ------------------------------------------------------------- |
Para eliminar estos permisos, debe utilizar una sintaxis similar a la siguiente:
# zfs unallow cindys tank/cindys # zfs allow tank/cindys |