Ignorar Links de Navegao | |
Sair do Modo de Exibio de Impresso | |
![]() |
Guia de administração do Oracle Solaris ZFS Oracle Solaris 10 1/13 Information Library (Português (Brasil)) |
1. Sistema de arquivos do Oracle Solaris ZFS (introdução)
2. Introdução ao ZFS do Oracle Solaris
3. Gerenciando pools de armazenamento do Oracle Solaris ZFS
4. Instalando e inicializando um sistema de arquivos raiz do Oracle Solaris ZFS
5. Gerenciando sistemas de arquivos ZFS do Oracle Solaris
6. Trabalhando com instantâneos e clones do Oracle Solaris ZFS
7. Uso de ACLs e atributos para proteger arquivos do Oracle Solaris ZFS
Definindo ACLs em arquivos ZFS
Definindo e exibindo ACLs em arquivos ZFS no formato verboso
Definindo a herança da ACL em arquivos ZFS no formato verboso
Definindo e exibindo ACLs em arquivos ZFS no formato compacto
8. Administração delegada do ZFS do Oracle Solaris
9. Tópicos avançados do Oracle Solaris ZFS
10. Solução de problemas e recuperação de pools do Oracle Solaris ZFS
11. Práticas Recomendadas do Oracle Solaris ZFS
As versões anteriores do Solaris ofereciam suporte a uma implementação de ACL com base principalmente na especificação da ACL do rascunho POSIX. As ACLs baseadas no esquema POSIX são usadas para proteger arquivos UFS e são traduzidas por versões do NFS antes do NFSv4
Com a introdução do NFSv4, um novo modelo de ACL oferece suporte total à interoperabilidade que o NFSv4 oferece entre clientes e não-clientes UNIX. A nova implementação de ACL, conforme definida na especificação NFSv4, proporciona semânticas muito mais ricas baseadas nas ACLs de estilo NT.
As principais diferenças do novo modelo de ACL são os seguintes:
Baseado na especificação NFSv4 e semelhante às ACLs de estilo NT.
Proporciona privilégios de acesso muito mais granulares. Para obter mais informações, consulte a Tabela 7-2.
É definido e exibido com os comandos chmod e ls em vez dos comandos setfacl e getfacl .
Oferece semânticas de herança mais ricas para designar como os privilégios de acesso serão aplicados do diretório aos subdiretórios, e assim por diante. Para obter mais informações, consulte Herança da ACL.
Ambos os modelos de ACL proporcionam controles de acesso mais granulares que os disponíveis nas permissões de arquivos padrão. Assim como as ACLs de esquema POSIX, as novas ACLs compõem-se de várias entradas de controle de acesso (ACEs).
As ACLs de esquema POSIX usam uma única entrada para definir que permissões serão aceitas e que permissões serão negadas. O novo modelo de ACL apresenta dois tipos de ACEs que afetam a verificação de acesso: ALLOW e DENY. Não é possível deduzir de nenhuma ACE que define um conjunto de permissões se as permissões definidas nesta ACE serão aceitas ou negadas.
A tradução entre ACLs de estilo NFSv4 e de esquema POSIX é a seguinte:
Se usar utilitários com ACL, como os comandos cp, mv, tar, cpio ou rcp, para transferir arquivos UFS com ACLs para um sistema de arquivos ZFS, as ACLs de esquema POSIX são traduzidas para as ACLs de estilo NFSv4 equivalentes.
Algumas ACLs de estilo NFSv4 são traduzidas para ACLs de esquema POSIX. Se uma ACL de estilo NFSv4– não for traduzida para uma ACL de esquema POSIX, será exibida a seguinte mensagem:
# cp -p filea /var/tmp cp: failed to set acl entries on /var/tmp/filea
Se criar um arquivo UFS tar ou cpio com a opção de preservar ACL (tar -p ou cpio -P) em um sistema que executa uma versão atual do Solaris, você perderá as ACLs quando o arquivo for extraído para um sistema que executa uma versão anterior do Solaris.
Todos os arquivos são extraídos com os modos de arquivo corretos, mas as entradas ACL são ignoradas.
Você pode usar o comando ufsrestore para restaurar os dados dentro de um sistema de arquivos ZFS. Se os dados originais possuírem ACLs de estilo POSIX, elas são convertidas em ACLs de estilo NFSv4.
Se tentar definir uma ACL de estilo NFSv4 em um arquivo UFS, será exibida uma mensagem semelhante à seguinte:
chmod: ERROR: ACL type's are different
Se tentar definir uma ACL de esquema POSIX em um arquivo ZFS, será exibida uma mensagem semelhante à seguinte:
# getfacl filea File system doesn't support aclent_t style ACL's. See acl(5) for more information on Solaris ACL support.
Para obter mais informações sobre outras limitações com ACLs e produtos de backup, consulte Salvando dados do ZFS com outros produtos de backup.
São fornecidos dois formatos básicos de ACL:
ACL Trivial – Contém apenas entradas tradicionais de usuário, grupo e proprietário do UNIX.
ACL Não Trivial – Contém mais entradas que apenas proprietário, grupo e todos, ou inclui um conjunto de sinalizadores herdados ou as entradas são ordenadas de uma forma não tradicional.
Sintaxe para definição de ACLs comuns
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
Identifica o tipo de entrada ACL da sintaxe da ACL comum. Para obter uma descrição dos tipos de entrada ACL, consulte a Tabela 7-1.
Identifica o tipo de entrada ACL da sintaxe de ACL explícita. O tipo de entrada ACL do usuário ou do grupo deve conter também o ID da entrada ACL, nome do usuário ou nome do grupo. Para obter uma descrição dos tipos de entrada ACL, consulte a Tabela 7-1.
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 7-2.
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 7-4.
Identifica se as permissões de acesso são aceitas ou negadas.
No exemplo a seguir, nenhum valor ACL-entry-ID existe para owner@, group@ ou everyone@..
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
O 2 ou a designação do ID de índice neste exemplo identifica a entrada ACL na ACL maior, que pode ter várias entradas para owner, UIDs específicos, group e everyone. Você pode especificar o ID de índice com o comando chmod para identificar que parte da ACL quer modificar. Você pode identificar, por exemplo, o ID de índice ID 3 como A3 para o comando chmod, semelhante a:
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 7-1 Tipos de entrada ACL
|
Os privilégios de acesso da ACL estão descritos na tabela abaixo.
Tabela 7-2 Privilégios de acesso da ACL
|
A tabela a seguir oferece detalhes adicionais sobre os comportamentos de ACL delete e delete_child.
Tabela 7-3 Comportamento de Permissão de ACL delete e delete_child
|
O objetivo de usar a herança da ACL é que um arquivo ou diretório recém-criado possa herdar as ACLs que pretendem herdar, mas levando em consideração os bits de permissão existentes no diretório pai.
Por padrão, as ACLs não são propagadas. Se definir uma ACL não-comum em um diretório, ela não será herdada por nenhum diretório subsequente. Você deve especificar a herança de uma ACL em um arquivo ou diretório.
Os sinalizadores de herança opcionais estão descritos na tabela abaixo.
Tabela 7-4 Sinalizadores de Herança da ACL
|
Além disso, você pode definir a diretriz de herança da ACL padrão no sistema de arquivos para que seja mais rigorosa ou menos rigorosa usando a propriedade aclinherit do sistema de arquivos. Para obter mais informações, consulte a próxima seção.
O sistema de arquivos do ZFS inclui as seguintes propriedades de ACL para determinar o comportamento específico da herança de ACL e interação de ACL com operações chmod.
aclinherit – Determine o comportamento da herança de ACL. Os valores incluem o seguinte:
discard – Para novos objetos, nenhuma entrada ACL é herdada quando um arquivo ou diretório é criado. A ACL no arquivo ou diretório é igual ao modo de permissão do arquivo ou diretório.
noallow – Para novos objetos, somente as entradas ACLs herdáveis com um tipo de acesso deny são herdadas.
restricted – Para novos objetos, as permissões write_owner e write_acl são removidas quando uma entrada ACL é herdada.
passthrough – Quando o valor da propriedade estiver definido como passthrough, os arquivos são criados com um modo determinado pelas ACEs herdáveis. Se não houver ACEs herdáveis que afetem o modo, então o modo será definido de acordo com o modo solicitado do aplicativo.
passthrough-x – Possui a mesma semântica de passthrough, exceto que, quando passthrough-x está ativado, os arquivos são criados com a permissão de execução (x), mas somente se a permissão de execução estiver definida no modo de criação de arquivo e em uma ACE que afeta o modo.
O modo padrão do aclinherit é restricted.
aclmode – Modifica o comportamento de ACL quando um arquivo é criado inicialmente ou controla como uma ACL é modificada durante uma operação chmod. Os valores incluem:
discard – Um sistema de arquivos com uma propriedade aclmode de discard excluir todas as entradas de ACL que não representam o modo do arquivo. Este é o valor padrão.
mask – Um sistema de arquivos com uma propriedade aclmode demask reduz as permissões de usuário ou grupo. As permissões são reduzidas, de forma que não são maiores que os bits de permissão do grupo, a menos que seja uma entrada de usuário com o mesmo UID do proprietário do arquivo ou diretório. Nesse caso, as permissões de ACL são reduzidas para que não fiquem maiores que os bits da permissão do proprietário. O valor da máscara também preserva a ACL nas alterações de modo, desde que uma operação explícita de definição da ACL não tenha sido executada.
passthrough – Um sistema de arquivos com uma propriedade aclmode de passthrough indica que não houve alterações na ACL além da geração das entradas de ACL necessárias para representar o novo modo do arquivo ou diretório.
O modo padrão de aclmode é discard.
Para obter mais informações sobre o uso da propriedade aclmode, consulte o Exemplo 7-13.