Gestión de sistemas de archivos ZFS en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Diciembre de 2014
 
 

Descripciones de la sintaxis para definir las ACL

Se proporcionan dos formatos básicos de ACL de la siguiente manera:

  • ACL trivial: contiene únicamente entradas las entradas tradicionales de UNIX user, group y owner.

    Use la siguiente sintaxis de comando para definir ACL triviales.

    chmod [options] A[index]{+|=}owner@ |group@ |everyone@: \
      access-permissions/...[:inheritance-flags]:deny | allow file
    chmod [options] A-owner@, group@, everyone@: \
      access-permissions/...[:inheritance-flags]:deny | allow file ...
    chmod [options] A[index]- file
  • ACL no trivial: contiene otras entradas además de owner, group y everyone, incluye conjuntos de indicadores heredados o las entradas están ordenadas de una manera no tradicional.

    Use la siguiente sintaxis de comando para definir ACL no triviales.

    chmod [options] A[index]{+|=}user|group:name: \
    access-permissions/...[:inheritance-flags]:deny | allow file
    chmod [options] A-user|group:name: \
    access-permissions/...[:inheritance-flags]:deny | allow file ...
    chmod [options] A[index]- file

En la siguiente lista se explican las opciones que se utilizan en los comandos para configurar ACL triviales y no triviales.

owner@, group@, everyone@

Identifica el tipo de entrada de ACL de la sintaxis de ACL triviales. Para obtener una descripción de tipos de entrada de ACL, consulte la Table 7–1.

user or group:ACL-entry-ID=username or groupname

Identifica el tipo de entrada de ACL de la sintaxis de ACL explícitas. El usuario y el grupo de tipo de entrada de ACL deben contener también el ID de entrada de ACL, nombre de usuario o nombre de grupo. Para obtener una descripción de tipos de entrada de ACL, consulte la Table 7–1.

access-permissions/.../

Identifica los permisos de acceso que se conceden o deniegan. Para obtener una descripción de los permisos de acceso de ACL, consulte Table 7–2.

inheritance-flags

Identifica una lista opcional de indicadores de herencia de ACL. Para obtener una descripción de los indicadores de herencia de ACL, consulte Table 7–4.

deny | allow

Identifica si se conceden o deniegan los permisos de acceso.

En el siguiente ejemplo, no existe valor ACL-entry-ID para owner@, group@ o everyone@.

group@:write_data/append_data/execute:deny

El ejemplo siguiente incluye un ID de entrada LCA porque en la LCA se incluye un usuario específico (tipo de entrada LCA).

0:user:joe:list_directory/read_data/execute:allow

Se muestra una entrada de ACL similar a la siguiente:

2:group@:write_data/append_data/execute:deny

El 2 o el ID de índice de este ejemplo identifica la entrada de ACL de la ACL más grande, que podría tener varias entradas para owner (propietario), UID específicos, group (grupo) y everyone (cualquiera). Se puede especificar el ID de índice con el comando chmod para identificar la parte de la ACL que desea modificar. Por ejemplo, el ID de índice 3 puede identificarse como A3 en el comando chmod de una forma similar a la siguiente:

chmod A3=user:venkman:read_acl:allow filename

La siguiente tabla describe los tipos de entrada de la ACL, que son las representaciones de propietario, grupo y otros de ACL.

Tabla 7-1  Tipos de entrada de ACL
Tipo de entrada de ACL
Descripción
owner@
Especifica el acceso que se concede al propietario del objeto.
group@
Especifica el acceso que se concede al grupo propietario del objeto.
everyone@
Especifica el acceso que se concede a cualquier usuario o grupo que no coincida con ninguna otra entrada de ACL.
user
Con un nombre de usuario, especifica el acceso que se concede a un usuario adicional del objeto. Debe incluir el ID de entrada de ACL, que contiene un username o userID. Si el valor no es un ID de usuario numérico o username válido, el tipo de entrada de ACL tampoco es válido.
group
Con un nombre de grupo, especifica el acceso que se concede a un grupo adicional del objeto. Debe incluir el ID de entrada de ACL, que contiene un groupname o groupID. Si el valor no es un ID de grupo numérico o groupname válido, el tipo de entrada de ACL tampoco es válido.

En la tabla siguiente se describen los privilegios de acceso de LCA.

Tabla 7-2  Privilegios de acceso de ACL
Privilegio de acceso
Privilegio de acceso compacto
Descripción
add_file
w
Permiso para agregar un archivo nuevo a un directorio.
add_subdirectory
p
En un directorio, permiso para crear un subdirectorio.
append_data
p
Actualmente no se ha implementado.
delete
d
Permiso para suprimir un archivo. Para obtener más información sobre el comportamiento de permiso delete específico, consulte la Table 7–3.
delete_child
D
Permiso para suprimir un archivo o un directorio dentro de un directorio. Para obtener más información sobre el comportamiento de permiso delete_child específico, consulte la Table 7–3.
execute
x
Permiso para ejecutar un archivo o buscar en el contenido de un directorio.
list_directory
r
Permiso para resumir el contenido de un directorio.
read_acl
c
Permiso para leer la ACL (ls).
read_attributes
a
Permiso para leer los atributos básicos (no ACL) de un archivo. Los atributos de tipo stat pueden considerarse atributos básicos. Permitir este bit de la máscara de acceso significa que la entidad puede ejecutar ls(1) y stat(2).
read_data
r
Permiso para leer el contenido del archivo.
read_xattr
S
Permiso para leer los atributos extendidos de un archivo o al buscar en el directorio de atributos extendidos del archivo.
synchronize
s
Actualmente no se ha implementado.
write_xattr
W
Permiso para crear atributos extendidos o escribir en el directorio de atributos extendidos.
Si se concede este permiso a un usuario, el usuario puede crear un directorio de atributos extendidos para un archivo. Los permisos de atributo del archivo controlan el acceso al atributo por parte del usuario.
write_data
w
Permiso para modificar o reemplazar el contenido de un archivo.
write_attributes
A
Permiso para cambiar las horas asociadas con un archivo o directorio a un valor arbitrario.
write_acl
C
Permiso para escribir en la ACL o posibilidad de modificarla mediante el comando chmod.
write_owner
o
Permiso para cambiar el grupo o propietario del archivo. O posibilidad de ejecutar los comandos chown o chgrp en el archivo.
Permiso para adquirir la propiedad de un archivo o para cambiar la propiedad del grupo del archivo a un grupo al que pertenezca el usuario. Si desea cambiar la propiedad de grupo o archivo a un usuario o grupo arbitrario, se necesita el privilegio PRIV_FILE_CHOWN.

La siguiente tabla proporciona información adicional sobre los comportamientos de ACL delete y delete_child .

Tabla 7-3  Comportamientos de permiso de ACL delete y delete_child
Permisos de directorio principal
Permisos de objeto de destino
ACL permite suprimir
ACL deniega suprimir
Permiso de supresión no especificado
ACL permite delete_child
Permitir
Permitir
Permitir
ACL deniega delete_child
Permitir
Denegar
Denegar
ACL permite solamente write y execute
Permitir
Permitir
Permitir
ACL deniega write y execute
Permitir
Denegar
Denegar

Conjuntos de LCA de ZFS

Las siguientes combinaciones de ACL se pueden aplicar en un conjunto de ACL en lugar de establecer permisos individuales por separado. Están disponibles los siguientes conjuntos de ACL.

Nombre de conjunto de ACL
Permisos de ACL incluidos
full_set
Todos los permisos
modify_set
Todos los permisos salvo write_acl y write_owner
read_set
read_data, read_attributes, read_xattr y read_acl
write_set
write_data, append_data, write_attributes y write_xattr

Estos conjuntos de ACL vienen predefinidos y no se pueden modificar.