JavaScript is required to for searching.
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))
search filter icon
search icon

Informação sobre o documento

Prefácio

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

Modelo de ACL do Solaris

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

Herança da ACL

Propriedades da ACL

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

A.  Descrição das versões do Oracle Solaris ZFS

Í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 permissões compactas são listadas na Tabela 7-2 e na Tabela 7-4.

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 , W=write_xattr, R= read_xattr, A=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 (s) 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 (s) 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 (s) 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 7-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 7-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 7-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@.

Exemplo 7-13 Interação de ACL com Operações chmod em Arquivos ZFS

Os exemplos a seguir ilustram como os valores de propriedade aclmode e aclinherit influenciam a interação de ACLs existentes com uma operação chmod que altera as permissões de arquivo ou diretório para reduzir ou expandir quaisquer permissões de ACL existentes para ser consistente com o grupo de propriedade.

Neste exemplo, a propriedade aclmode é definida como mask e a propriedade aclinherit é definida como restricted. As permissões de ACL deste exemplo são exibidas em modo compacto, o que ilustra mais facilmente as permissões de alteração.

O arquivo original e as permissões de ACL e propriedade são os seguintes:

# zfs set aclmode=mask pond/whoville
# zfs set aclinherit=restricted pond/whoville

# ls -lV file.1
-rwxrwx---+  1 root     root      206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

Uma operação chown altera a propriedade do arquivo no file.1 e a saída é vista pelo usuário proprietário, amy. Por exemplo:

# chown amy:staff file.1
# su - amy
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

A operação chmod a seguir altera as permissões para um modo mais restritivo. Neste exemplo, o grupo sysadmin modificado e as permissões de ACL do grupo staff não excedem as permissões do grupo proprietário.

$ chmod 640 file.1
$ ls -lV file.1
-rw-r-----+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:r-----a-R-c---:-------:allow
            group:staff:r-----a-R-c---:-------:allow
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

A operação chmod a seguir altera as permissões para um modo menos restritivo. Neste exemplo, as permissões de ACL do grupo sysadmin e do grupo staff são restauradas para permitir as mesmas permissões que as do grupo proprietário.

$ chmod 770 file.1
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow