Guía de administración de Oracle Solaris ZFS

Delegación de permisos de ZFS

Utilice el comando zfs allow para conceder permisos en conjuntos de datos ZFS a usuarios que no sean root de las maneras siguientes:

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:

Además, puede delegar las siguientes propiedades de ZFS a usuarios que no sean root:

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.

Delegación de permisos de ZFS (zfs allow)

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.

Eliminación de permisos delegados de ZFS (zfs unallow)

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