JavaScript is required to for searching.
Ignorar Links de Navegao
Sair do Modo de Exibio de Impresso
Guia de administração do ZFS Oracle Solaris
search filter icon
search icon

Informação sobre o documento

Prefácio

1.  Sistema de arquivos Oracle Solaris ZFS (introdução)

2.  Introdução ao ZFS do Oracle Solaris

3.  Diferenças entre o sistema de arquivos tradicional e o ZFS do Oracle Solaris

4.  Gerenciando conjuntos de armazenamento ZFS do Oracle Solaris

5.  Instalando e inicializando um sistema de arquivos raiz ZFS do Oracle Solaris

6.  Gerenciando sistemas de arquivos ZFS do Oracle Solaris

7.  Trabalhando com instantâneos e clones do ZFS do Oracle Solaris

8.  Uso de ACLs e atributos para proteger arquivos ZFS do Oracle Solaris

Novo modelo de ACL do Solaris

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

Herança da ACL

Propriedade da ACL (aclinherit)

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

9.  Administração delegada do ZFS do Oracle Solaris

10.  Tópicos avançados do ZFS do Oracle Solaris

11.  Solução de problemas e conjunto de recuperação do Oracle Solaris ZFS

A.  Descrição da versão do ZFS do Oracle Solaris

Índice

Definindo e exibindo ACLs em arquivos ZFS no formato compacto

Você pode definir e exibir as permissões em arquivos ZFS em um formato compacto que usa unicamente 14 letras para representar as permissões. As letras que representam as permissões compactas estão listadas na Tabela 8-2 e na Tabela 8-3.

Você pode exibir listagens de ACLs compactas de arquivos e diretórios usando o comando ls -V. Por exemplo:

# 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

A saída de ACL compacta é descrita da seguinte forma:

owner@

O proprietário pode ler e modificar o conteúdo do arquivo ( rw=read_data/write_data), (p= append_data). O proprietário também pode modificar os atributos do arquivo, tais como registros de data/hora, atributos estendidos e ACLs (a=read_attributes , A=write_xattr, R= read_xattr, W=write_attributes, c=read_acl, C=write_acl). Além disso, o proprietário pode modificar a propriedade do arquivo (o=write_owner).

A permissão de acesso synchronize não está implementada atualmente.

group@

O grupo recebe permissões de leitura para o arquivo (r= read_data) e os atributos do arquivo (a=read_attributes , R=read_xattr, c= read_acl).

A permissão de acesso synchronize não está implementada atualmente.

everyone@

Todos os que não são nem usuários nem grupos têm permissões de leitura para o arquivo e para os atributos do arquivo (r=read_data, a=append_data, R=read_xattr , c=read_acl e s= synchronize).

A permissão de acesso synchronize não está implementada atualmente.

A ACL de formato compacto oferece as seguintes vantagens em relação à ACL de formato verboso:

Para obter mais informações sobre o uso de ACL de formato compacto, consulte Definindo e exibindo ACLs em arquivos ZFS no formato verboso.

Exemplo 8-10 Definindo e exibindo ACLs em formato compacto

No exemplo abaixo, existe uma ACL comum no file.1:

# 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

Neste exemplo, as permissões read_data/execute são adicionadas ao usuário gozer em 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

No exemplo abaixo, o usuário gozer tem permissões de leitura, gravação e execução que são herdadas pelos novos arquivos e diretórios através do formato compacto de ACL.

# 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

Você também pode recortar e colar os sinalizadores de permissões e de herança da saída ls -V no formato compacto chmod. Por exemplo, para duplicar os sinalizadores de permissões e de herança no dir.2 do usuário gozer para o usuário cindy em dir.2, copie e cole os sinalizadores de permissão e de herança (rwx-----------:fd----:allow )no comando chmod. Por exemplo:

# 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

Exemplo 8-11 Herança da ACL com o modo de ACL herdada definido como passar

Um sistema de arquivos que apresenta a propriedade aclinherit definida como passthrough herda todas as entradas da ACL sem as modificações feitas em tais entradas quando estas são herdadas. Quando o valor da propriedade estiver definido como passthrough, os arquivos são criados com um modo de permissão determinado pelas ACEs herdáveis. Se não houver ACEs herdáveis que afetem o modo de permissão, então o modo de permissão será definido de acordo com o modo solicitado do aplicativo.

Os exemplos seguintes usam a sintaxe compacta de ACL para mostrar como herdar bits de permissão definindo o modo aclinherit como passthrough.

Neste exemplo, uma ACL está definida no test1.dir para forçar a herança. A sintaxe cria uma entrada ACL de owner@, group@ e everyone@ para os arquivos recém-criados. O diretórios recém-criados herdam uma entrada ACL de @owner, group@ e 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

Neste exemplo, o arquivo recém-criado herda a ACL que foi especificada para ser herdada nos arquivos recém-criados.

# 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

Neste exemplo, o diretório recém-criado herda as ACEs que controlam o acesso a este diretório, bem como as ACEs para futuras propagações para os filhos do diretório recém-criado.

# 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

As entradas fd---- servem para propagar herança e não são consideradas durante o controle de acesso. Neste exemplo, é criado um arquivo com uma ACL comum em outro diretório no qual as ACEs herdadas não estão presentes.

# 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

Exemplo 8-12 Herança da ACL com o modo de ACL herdada definido como passar X

Quando aclinherit=passthrough-x estiver habilitado, os arquivos são criados com a permissão de executar (x) para o owner@, group@ ou everyone@, mas somente de a permissão de executar estiver definida no modo de criação de arquivo em uma ACE herdável que afeta o modo

Os exemplos a seguir mostram como herdar a permissão de executar ao definir o modo aclinherit como passthrough-x.

# zfs set aclinherit=passthrough-x tank/cindy

A seguinte ACL é definida em /tank/cindy/test1.dir para fornecer uma herança de ACL executável para arquivos para 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

Um arquivo (file1) é criado com as permissões solicitadas 0666. As permissões resultantes são 0660. A permissão de execução não foi herdada já que o modo de criação não a solicitou.

# 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 seguir, um executável denominado t é gerado com o uso do compilador cc no diretório 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

As permissões resultantes são 0770 porque o cc solicitou permissões 0777, que causou a herança da permissão de executar das entradas owner@, group@ e everyone@.