Guia de administração do ZFS Oracle Solaris

Descrições de sintaxe para definição de ACLs

Seguem dois formatos básicos de ACL:

Sintaxe para definição de ACLs comuns

Uma ACL é comum visto que representa somente as entradas owner/group/other tradicionais do UNIX.

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]- arquivo

Sintaxe para a configuração de ACLs incomuns

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]- arquivo

owner@, group@, everyone@

Identifica o tipo de entrada ACL da sintaxe da ACL comum. Para uma descrição dos tipos de entrada da ACL, consulte a Tabela 8–1.

usuário ou grupo: ACL-entry-ID=username or groupname

Identifica o tipo de entrada ACL da sintaxe de ACL explícita. O usuário e grupo com tipo de entrada ACL devem conter também a ID da entrada ACL, nome do usuário ou nome do grupo. Para uma descrição dos tipos de entrada da ACL, consulte a Tabela 8–1.

access-permissions/.../

Identifica as permissões de acesso que são aceitas ou negadas. Para obter uma descrição dos privilégios de acesso da ACL, consulte a Tabela 8–2.

inheritance-flags

Identifica uma lista opcional de sinalizadores de herança da ACL. Para obter uma descrição dos sinalizadores de herança da ACL, consulte a Tabela 8–3.

deny | allow

Identifica se as permissões de acesso são aceitas ou negadas.

No exemplo abaixo, o valor do ID da entrada ACL não é relevante:


group@:write_data/append_data/execute:deny

O exemplo abaixo inclui um ID da entrada ACL porque um usuário específico (tipo da entrada ACL) está incluído na ACL.


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

Quando uma entrada ACL é exibida, ela se parece ao ilustrado abaixo:


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

Neste exemplo, o 2 ou a designação da index-ID identifica a entrada ACL na ACL maior, que pode ter várias entradas para proprietário, UIDs específicos, grupo e todos. Você pode especificar o ID de índice com o comando chmod para identificar que parte da ACL quer modificar. É possível identificar, por exemplo, a ID de índice 3 como A3 na sintaxe de comando chmod, semelhante ao seguinte:


chmod A3=user:venkman:read_acl:allow filename

Na tabela abaixo encontram-se as descrições dos tipos de entrada ACL, que são as representações da ACL de proprietário, grupo e outros.

Tabela 8–1 Tipos de entrada ACL

Tipo de entrada ACL 

Descrição 

owner@

Especifica o acesso concedido ao proprietário do objeto. 

group@

Especifica o acesso concedido ao grupo proprietário do objeto. 

everyone@

Especifica o acesso permitido a todos os usuários ou grupos que não correspondam com nenhuma outra entrada ACL. 

user

Com um nome de usuário, especifica o acesso concedido a um usuário adicional do objeto. Esta entrada deve incluir a ID da entrada ACL, que contém um nome de usuário ou uma ID de usuário. Se o valor não for um UID numérico ou nome de usuário válidos, o tipo de entrada ACL é inválido.

group

Com um nome de grupo, especifica acesso concedido a um grupo adicional do objeto. Esta entrada deve incluir a ID da entrada ACL, que contém um nome de grupo ou uma ID de grupo. Se o valor não for um GID numérico ou nome de grupo válidos, o tipo de entrada ACL é inválido.

Os privilégios de acesso da ACL estão descritos na tabela abaixo.

Tabela 8–2 Privilégios de acesso da ACL

Privilégio de acesso 

Privilégio de acesso compacto 

Descrição 

add_file

w

Permissão para adicionar um novo arquivo a um diretório. 

add_subdirectory

p

Em um diretório, permissão para criar um subdiretório. 

append_data

p

Espaço reservado. Ainda não implementado. 

delete

d

Permissão para excluir um arquivo. 

delete_child

D

Permissão para excluir um arquivo ou um diretório dentro de um diretório. 

execute

x

Permissão para executar um arquivo ou pesquisar o conteúdo de um diretório. 

list_directory

a

Permissão para listar o conteúdo de um diretório. 

read_acl

c

Permissão para ler a ACL (ls).

read_attributes

a

Permissão para ler os atributos básicos (não-ACLs) de um arquivo. Considere os atributos básicos como sendo os atributos do nível stat. Ao permitir este bit de máscara de acesso, a entidade pode executar ls(1) e stat(2).

read_data

a

Permissão para ler o conteúdo de um arquivo. 

read_xattr

A

Permissão para ler os atributos estendidos de um arquivo ou efetuar uma consulta no diretório dos atributos estendidos do arquivo. 

synchronize

s

Espaço reservado. Ainda não implementado. 

write_xattr

W

Permissão para criar atributos estendidos ou gravar no diretório de atributos estendidos. 

A concessão de permissões a um usuário indica que o usuário pode criar um diretório de atributo estendido para um arquivo. As permissões do arquivo do atributo controlam o acesso do usuário ao atributo. 

write_data

w

Permissão para modificar ou substituir o conteúdo de um arquivo. 

write_attributes

m

Permissão para alterar os registros de data associados a um arquivo ou diretório para um valor arbitrário. 

write_acl

C

Permissão para gravar a ACL ou modificar a ACL através do comando chmod.

write_owner

o

Permissão para alterar o proprietário ou o grupo do arquivo. Ou, a habilidade para executar os comandos chown ou chgrp no arquivo.

Permissão para tomar a propriedade de um arquivo ou permissão para alterar a propriedade do grupo do arquivo para um grupo do qual o usuário é membro. Se quiser alterar a propriedade do grupo ou arquivo para um usuário ou grupo arbitrário, o privilégio PRIV_FILE_CHOWN é exigido.