JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Administración de Oracle Solaris 11.1: sistemas de archivos ZFS     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

1.  Sistema de archivos ZFS de Oracle Solaris (introducción)

2.  Procedimientos iniciales con Oracle Solaris ZFS

3.  Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS

4.  Gestión de componentes de la agrupación raíz ZFS

5.  Administración de sistemas de archivos ZFS de Oracle Solaris

6.  Uso de clones e instantáneas de Oracle Solaris ZFS

7.  Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS

8.  Administración delegada de ZFS Oracle Solaris

Descripción general de la administración delegada de ZFS

Desactivación de permisos delegados de ZFS

Delegación de permisos de ZFS

Delegación de permisos de ZFS (zfs allow)

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

Delegación de permisos ZFS (ejemplos)

Visualización de permisos delegados de ZFS

Eliminación de permisos delegados de ZFS (ejemplos)

9.  Temas avanzados de Oracle Solaris ZFS

10.  Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS

11.  Archivado de instantáneas y recuperación de agrupaciones raíz

12.  Prácticas de ZFS recomendadas por Oracle Solaris

A.  Descripciones de versiones de Oracle Solaris ZFS

Índice

Delegación de permisos ZFS (ejemplos)

Ejemplo 8-1 Delegación de permisos a un determinado usuario

Si delega los permisos create y mount a un determinado usuario, compruebe que dicho usuario disponga de permisos en el punto de montaje subyacente.

Por ejemplo, para delegar al usuario mark los permisos create y mount en el sistema de archivos tank, primero defina los permisos:

# chmod A+user:mark:add_subdirectory:fd:allow /tank/home

A continuación, utilice el comando zfs allow para delegar los permisos create , destroy y mount. Por ejemplo:

# zfs allow mark create,destroy,mount tank/home

El usuario mark ahora puede crear sus propios sistemas de archivos en el sistema de archivos tank/home. Por ejemplo:

# su mark
mark$ zfs create tank/home/mark
mark$ ^D
# su lp
$ zfs create tank/home/lp
cannot create 'tank/home/lp': permission denied

Ejemplo 8-2 Delegación de los permisos create y destroy en un grupo.

El siguiente ejemplo muestra cómo configurar un sistema de archivos de forma que cualquier integrante del grupo staff pueda crear y montar sistemas de archivos en el sistema de archivos tank/home, así como destruir sus propios sistemas de archivos. Ahora bien, los miembros del grupo staff no pueden destruir los sistemas de archivos de nadie más.

# zfs allow staff create,mount tank/home
# zfs allow -c create,destroy tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy
Local+Descendent permissions:
        group staff create,mount
# su cindy
cindy% zfs create tank/home/cindy/files
cindy% exit
# su mark
mark% zfs create tank/home/mark/data
mark% exit
cindy% zfs destroy tank/home/mark/data
cannot destroy 'tank/home/mark/data': permission denied

Ejemplo 8-3 Delegación de permisos en el nivel correcto del sistema de archivos

Compruebe que conceda permisos a los usuarios en el nivel correcto del sistema de archivos. Por ejemplo, se delegan al usuario mark los permisos create, destroy y mount para los sistemas de archivos local y descendiente. Se delega al usuario mark permiso local para crear una instantánea del sistema de archivos tank/home, pero no puede crear una instantánea de su propio sistema de archivos. Así pues, no se le ha delegado el permiso snapshot en el nivel correcto del sistema de archivos.

# zfs allow -l mark snapshot tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy
Local permissions:
        user mark snapshot
Local+Descendent permissions:
        group staff create,mount
# su mark
mark$ zfs snapshot tank/home@snap1
mark$ zfs snapshot tank/home/mark@snap1
cannot create snapshot 'tank/home/mark@snap1': permission denied

Para delegar al usuario mark permiso en el nivel de sistema de archivos descendiente, utilice la opción zfs allow -d. Por ejemplo:

# zfs unallow -l mark snapshot tank/home
# zfs allow -d mark snapshot tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy
Descendent permissions:
        user mark snapshot
Local+Descendent permissions:
        group staff create,mount
# su mark
$ zfs snapshot tank/home@snap2
cannot create snapshot 'tank/home@snap2': permission denied
$ zfs snapshot tank/home/mark@snappy

El usuario mark ahora sólo puede crear una instantánea por debajo del nivel de sistema de archivos tank/home.

Ejemplo 8-4 Definición y uso de permisos delegados complejos

Puede delegar permisos a usuarios o grupos. Por ejemplo, el siguiente comando zfs allow delega determinados permisos al grupo staff. Asimismo, se delegan los permisos destroy y snapshot una vez creados los sistemas de archivos en tank/home.

# zfs allow staff create,mount tank/home
# zfs allow -c destroy,snapshot tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy,snapshot
Local+Descendent permissions:
        group staff create,mount

Debido a que el usuario mark es miembro del grupo staff, puede crear sistemas de archivos en tank/home. Además, el usuario mark puede crear una instantánea de tank/home/mark2 porque dispone de los permisos correspondientes para hacerlo. Por ejemplo:

# su mark
$ zfs create tank/home/mark2
$ zfs allow tank/home/mark2
---- Permissions on tank/home/mark2 ----------------------------------
Local permissions:
        user mark create,destroy,snapshot
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy,snapshot
Local+Descendent permissions:
        group staff create,mount

Sin embargo, el usuario mark no puede crear una instantánea de tank/home/mark porque carece de los permisos correspondientes para hacerlo. Por ejemplo:

$ zfs snapshot tank/home/mark@snap1
cannot create snapshot 'tank/home/mark@snap1': permission denied

En este ejemplo, el usuario mark tiene el permiso create en el directorio principal, lo que significa que puede crear instantáneas. Esta situación hipotética es útil si el sistema de archivos está montado por NFS.

$ cd /tank/home/mark2
$ ls
$ cd .zfs
$ ls
shares snapshot
$ cd snapshot
$ ls -l
total 3
drwxr-xr-x   2 mark    staff          2 Sep 27 15:55 snap1
$ pwd
/tank/home/mark2/.zfs/snapshot
$ mkdir snap2
$ zfs list
# zfs list -r tank/home
NAME                    USED  AVAIL  REFER  MOUNTPOINT
tank/home/mark           63K  62.3G    32K  /tank/home/mark
tank/home/mark2          49K  62.3G    31K  /tank/home/mark2
tank/home/mark2@snap1    18K      -    31K  -
tank/home/mark2@snap2      0      -    31K  -
$ ls
snap1  snap2
$ rmdir snap2
$ ls
snap1

Ejemplo 8-5 Definición y uso de un conjunto de permisos delegados de ZFS

En el ejemplo siguiente se muestra cómo crear un conjunto de permisos @myset y se delega el grupo de permisos rename al grupo staff para el sistema de archivos tank. El usuario cindy, miembro del grupo staff, tiene permiso para crear un sistema de archivos en tank. Sin embargo, el usuario lp no tiene permiso para crear un sistema de archivos en tank.

# zfs allow -s @myset create,destroy,mount,snapshot,promote,clone,readonly tank
# zfs allow tank
---- Permissions on tank ---------------------------------------------
Permission sets:
        @myset clone,create,destroy,mount,promote,readonly,snapshot
# zfs allow staff @myset,rename tank
# zfs allow tank
---- Permissions on tank ---------------------------------------------
Permission sets:
        @myset clone,create,destroy,mount,promote,readonly,snapshot
Local+Descendent permissions:
        group staff @myset,rename
# chmod A+group:staff:add_subdirectory:fd:allow tank
# su cindy
cindy% zfs create tank/data
cindy% zfs allow tank
---- Permissions on tank ---------------------------------------------
Permission sets:
        @myset clone,create,destroy,mount,promote,readonly,snapshot
Local+Descendent permissions:
        group staff @myset,rename
cindy% ls -l /tank
total 15
drwxr-xr-x   2 cindy   staff          2 Jun 24 10:55 data
cindy% exit
# su lp
$ zfs create tank/lp
cannot create 'tank/lp': permission denied