JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Guía de administración de Oracle Solaris ZFS
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.  Instalación e inicio de un sistema de archivos raíz ZFS Oracle Solaris

6.  Administrar 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 ACL de Solaris

Descripciones de la sintaxis para definir las ACL

Herencia de ACL

Propiedad de ACL (aclinherit)

Establecimiento de las ACL en archivos ZFS

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

Establecimiento de herencia de ACL en archivos ZFS en formato detallado

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

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

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 enumeran en la Tabla 8-2 y la Tabla 8-3.

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      206663 Jun 23 15:06 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 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 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 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-10 Establecimiento y visualización de las ACL en formato compacto

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

# ls -V file.1
-rw-r--r--   1 root     root      206663 Jun 23 15:06 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      206663 Jun 23 15:06 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 Jun 23 16:04 dir.2
        user:gozer:rwx-----------:fd----:allow
            owner@:rwxp--aARWcCos:------: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 Jun 23 16:04 dir.2
       user:cindy:rwx-----------:fd----:allow
        user:gozer:rwx-----------:fd----:allow
            owner@:rwxp--aARWcCos:------:allow
            group@:r-x---a-R-c--s:------:allow
         everyone@:r-x---a-R-c--s:------:allow

Ejemplo 8-11 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 de ACL que se pueden heredar sin modificaciones en las entradas de ACL 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 de ACL 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 Jun 23 16:10 test1.dir
            owner@:rwxpdDaARWcCos:fd----:allow
            group@:rwxp----------:fd----:allow
         everyone@:--------------:fd----:allow

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

# cd test1.dir
# touch file.1
# ls -V file.1
-rwxrwx---+  1 root     root           0 Jun 23 16:11 file.1
            owner@:rwxpdDaARWcCos:------:allow
            group@:rwxp----------:------:allow
         everyone@:--------------:------: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 Jun 23 16:13 subdir.1
            owner@:rwxpdDaARWcCos:fd----:allow
            group@:rwxp----------:fd----:allow
         everyone@:--------------:fd----:allow

Las entradas fd---- son para propagar la herencia y no se tienen en cuenta durante el control de acceso. En este ejemplo, se crea un archivo con una ACL trivial en otro directorio en el que no haya 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 Jun 23 16:15 file.2
            owner@:rw-p--aARWcCos:------:allow
            group@:r-----a-R-c--s:------:allow
         everyone@:r-----a-R-c--s:------:allow

Ejemplo 8-12 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 Jun 23 16:17 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 Jun 23 16:18 test1.dir/file1
            owner@:rw-pdDaARWcCos:------:allow
            group@:rw-p----------:------:allow
         everyone@:--------------:------: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:------:allow
                 group@:rwxp----------:------:allow
              everyone@:--------------:------: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@.