JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Administración de Oracle Solaris: sistemas de archivos ZFS     Oracle Solaris 11 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.  Oracle Solaris ZFS y sistemas de archivos tradicionales

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

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

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

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

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

Nuevo modelo de LCA de Solaris

Descripciones de la sintaxis para definir las ACL

Conjuntos de LCA de ZFS

Herencia de ACL

Propiedades de ACL

Establecimiento de las LCA en archivos ZFS

Establecimiento y visualización de ACL en archivos ZFS en formato detallado

Establecimiento de herencia de LCA en archivos ZFS en formato detallado

Establecimiento y visualización de ACL en archivos ZFS en formato compacto

Aplicación de atributos especiales a los archivos de ZFS

9.  Administración delegada de ZFS Oracle Solaris

10.  Temas avanzados de Oracle Solaris ZFS

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

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

13.  Prácticas de ZFS recomendadas por Oracle Solaris

A.  Descripciones de versiones de Oracle Solaris ZFS

Índice

Establecimiento y visualización de ACL en archivos ZFS en formato compacto

En archivos ZFS puede establecer y visualizar permisos en un formato compacto que utiliza 14 caracteres exclusivos para representar los permisos. Las letras que representan los permisos compactos se muestran en Tabla 8-2 y Tabla 8-4.

Puede visualizar listas de ACL en formato compacto para archivos y directorios mediante el comando ls -V. Por ejemplo:

# ls -V file.1
-rw-r--r--   1 root     root      206695 Jul 20 14:27 file.1
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

La salida de ACL compacta se interpreta de la forma siguiente:

owner@

El propietario puede leer y modificar el contenido del archivo ( rw=read_data/write_data), (p= append_data). El propietario también puede modificar los atributos de un archivo, como las indicaciones de hora, los atributos ampliados y las ACL (a=read_attributes , A=write_xattr, R=read_xattr, W=write_attributes, c=read_acl, C=write_acl). Además, el propietario puede modificar la propiedad del archivo (o=write_owner).

El permiso de acceso synchronize (s) no está implementado en la actualidad.

group@

Se otorga al grupo permisos de lectura para el archivo (r= read_data) y los atributos del archivo (a=read_attributes , R=read_xattr, c= read_acl).

El permiso de acceso synchronize (s) no está implementado en la actualidad.

everyone@

Se concede a quien no sea usuario ni grupo los permisos de lectura del archivo y los atributos del archivo (r=read_data, a=append_data, R=read_xattr , c=read_acl y s= synchronize).

El permiso de acceso synchronize (s) no está implementado en la actualidad.

El formato compacto de las ACL presenta las ventajas siguientes respecto al formato detallado:

Para obtener información sobre el uso del formato de ACL detallado, consulte Establecimiento y visualización de ACL en archivos ZFS en formato detallado.

Ejemplo 8-11 Establecimiento y visualización de las ACL en formato compacto

En el ejemplo siguiente, en file.1 hay una LCA trivial:

# ls -V file.1
-rw-r--r--   1 root     root      206695 Jul 20 14:27 file.1
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

En este ejemplo, se agregan los permisos read_data/execute para el usuario gozer en file.1.

# chmod A+user:gozer:rx:allow file.1
# ls -V file.1
-rw-r--r--+  1 root     root      206695 Jul 20 14:27 file.1
             user:gozer:r-x-----------:-------:allow
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

En el ejemplo siguiente, al usuario gozer se le conceden permisos de lectura, escritura y ejecución que se heredan para archivos y directorios recientemente creados mediante el formato de ACL comprimido.

# chmod A+user:gozer:rwx:fd:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:33 dir.2
             user:gozer:rwx-----------:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

También puede cortar y pegar indicadores de herencia y permisos de la salida de ls -V en el formato compacto de chmod. Por ejemplo, para duplicar los permisos e indicadores de herencia de dir.2 para el usuario gozer en el usuario cindy en dir.2, copie y pegue los permisos y los indicadores de herencia (rwx-----------:fd-----:allow) en el comando chmod. Por ejemplo:

# chmod A+user:cindy:rwx-----------:fd-----:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:33 dir.2
             user:cindy:rwx-----------:fd-----:allow
             user:gozer:rwx-----------:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

Ejemplo 8-12 Herencia de ACL con el modo ACL heredado establecido en passthrough

Un sistema de archivos que tiene la propiedad aclinherit establecida en passthrough hereda todas las entradas LCA que se pueden heredar sin modificaciones en las entradas LCA cuando se heredan. Si la propiedad se configura como passthrough, los archivos se crean con un modo de permiso que determinan las entradas de control de acceso que se pueden heredar. Si no existen entradas de control de acceso que se puedan heredar y que afecten al modo de permiso, el modo de permiso se configurará de acuerdo con el modo solicitado desde la aplicación.

Los ejemplos siguientes utilizan sintaxis de ACL compacta para mostrar cómo heredar bits de permisos estableciendo el modo aclinherit en passthrough.

En este ejemplo, se establece una ACL en test1.dir para forzar la herencia. La sintaxis crea una entrada LCA owner@, group@ y everyone@ para cada archivo que cree. Los directorios que cree heredan una entrada de ACL @owner, group@ y everyone@.

# zfs set aclinherit=passthrough tank/cindy
# pwd
/tank/cindy
# mkdir test1.dir
# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,
everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jul 20 14:42 test1.dir
                 owner@:rwxpdDaARWcCos:fd-----:allow
                 group@:rwxp----------:fd-----:allow
              everyone@:--------------:fd-----:allow

En este ejemplo, un archivo recién creado hereda la LCA especificada para heredarse en los archivos recién creados.

# cd test1.dir
# touch file.1
# ls -V file.1
-rwxrwx---+  1 root     root           0 Jul 20 14:44 file.1
                 owner@:rwxpdDaARWcCos:------I:allow
                 group@:rwxp----------:------I:allow
              everyone@:--------------:------I:allow

En este ejemplo, un directorio que se cree hereda tanto las entradas que controlan el acceso a este directorio como las entradas de control de acceso para la futura propagación a los elementos secundarios del directorio que se cree.

# mkdir subdir.1
# ls -dV subdir.1
drwxrwx---+  2 root     root           2 Jul 20 14:45 subdir.1
                 owner@:rwxpdDaARWcCos:fd----I:allow
                 group@:rwxp----------:fd----I:allow
              everyone@:--------------:fd----I:allow

Las entradas fd----I son para propagar la herencia y no se tienen en cuenta durante el control de acceso.

En el siguiente ejemplo, se crea un archivo con una ACL trivial en otro directorio en el que no hay entradas de control de acceso heredadas.

# cd /tank/cindy
# mkdir test2.dir
# cd test2.dir
# touch file.2
# ls -V file.2
-rw-r--r--   1 root     root           0 Jul 20 14:48 file.2
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

Ejemplo 8-13 Herencia de ACL con el modo ACL heredado establecido en passthrough-X

Cuando aclinherit=passthrough-x está habilitada, los archivos se crean con el permiso de ejecución (x) para owner@, group@ o everyone@, pero sólo si el permiso de ejecución se define en el modo de creación de archivos y en un ACE heredable que afecta al modo.

El siguiente ejemplo muestra cómo se heredan los permisos de ejecución al establecer el modo aclinherit en passthrough-x.

# zfs set aclinherit=passthrough-x tank/cindy

La siguiente ACL se establece en /tank/cindy/test1.dir para proporcionar herencia de ACL ejecutable para los archivos de owner@.

# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,
everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jul 20 14:50 test1.dir
                 owner@:rwxpdDaARWcCos:fd-----:allow
                 group@:rwxp----------:fd-----:allow
              everyone@:--------------:fd-----:allow

Un archivo (file1) se crea con permisos solicitados 0666. Los permisos resultantes son 0660. El permiso de ejecución no se ha heredado porque el modo de creación no lo solicitó.

# touch test1.dir/file1
# ls -V test1.dir/file1
-rw-rw----+  1 root     root           0 Jul 20 14:52 test1.dir/file1
                 owner@:rw-pdDaARWcCos:------I:allow
                 group@:rw-p----------:------I:allow
              everyone@:--------------:------I:allow

A continuación, se generará un ejecutable llamado t mediante el compilador cc en el directorio testdir.

# cc -o t t.c
# ls -V t
-rwxrwx---+  1 root     root        7396 Dec  3 15:19 t
                 owner@:rwxpdDaARWcCos:------I:allow
                 group@:rwxp----------:------I:allow
              everyone@:--------------:------I:allow

Los permisos resultantes son 0770 porque cc solicitó permisos 0777, que provocaron que el permiso de ejecución se heredara de las entradas owner@, group@ y everyone@.

Ejemplo 8-14 Interacción de ACL con las operaciones chmod en archivos ZFS

Los siguientes ejemplos muestran de qué manera los valores específicos de propiedad aclmode y aclinherit influyen en la interacción de las ACL existentes con una operación chmod que cambia los permisos de archivo o de directorio para reducir o ampliar los permisos de ACL existentes a fin de que sean coherentes con el grupo propietario.

En este ejemplo, la propiedad aclmode se establece como mask y la propiedad aclinherit se establece como restricted. Los permisos de ACL de este ejemplo se muestran en modo compacto, que permite ilustrar el cambio de los permisos con más facilidad.

El archivo original y la propiedad de grupo y los permisos de ACL son los siguientes:

# zfs set aclmode=mask pond/whoville
# zfs set aclinherit=restricted pond/whoville

# ls -lV file.1
-rwxrwx---+  1 root     root      206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

Una operación chown cambia la propiedad de archivo de file.1, y el usuario propietario, amy, empieza a ver la salida. Por ejemplo:

# chown amy:staff file.1
# su - amy
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

La siguiente operación chmod cambia el modo de los permisos a uno más restrictivo. En este ejemplo, los permisos de ACL modificados de los grupos sysadmin y staff no exceden los permisos del grupo propietario.

$ chmod 640 file.1
$ ls -lV file.1
-rw-r-----+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:r-----a-R-c---:-------:allow
            group:staff:r-----a-R-c---:-------:allow
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

La siguiente operación chmod cambia el modo de los permisos a uno menos restrictivo. En este ejemplo, los permisos de ACL modificados de los grupos sysadmin y staff se restauran para permitir los mismos permisos que el grupo propietario.

$ chmod 770 file.1
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow