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

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

Visão geral da administração delegada de ZFS

Desativando permissões delegadas do ZFS

Delegando permissões do ZFS

Delegação de permissões do ZFS (zfs allow)

Removendo as permissões delegadas do ZFS (zfs unallow)

Delegando permissões do ZFS (Exemplos)

Exibindo permissões delegadas do ZFS (Exemplos)

Removendo permissões delegadas ZFS (exemplos)

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

Delegando permissões do ZFS (Exemplos)

Exemplo 9-1 Delegando permissões a um usuário individual

Ao delegar as permissões create e mount a um usuário individual, é necessário ter certeza de que o usuário tem as permissões no ponto de montagem subjacente.

Por exemplo, para delegar ao usuário as permissões mark create e mount no sistema de arquivos tank, defina primeiro as permissões:

# chmod A+user:mark:add_subdirectory:fd:allow /tank/home

A seguir, utilize o comando zfs allow para delegar as permissões create, destroy e mount. Por exemplo:

# zfs allow mark create,destroy,mount tank/home

Agora, o usuário mark pode criar seus próprios sistemas de arquivos no sistema de arquivos tank. Por exemplo:

# su mark
mark$ zfs create tank/home/mark
mark$ ^D
# su lp
$ zfs create tank/lp
cannot create 'tank/lp': permission denied

Exemplo 9-2 Delegando permissões create e destroy a um grupo

O exemplo seguinte mostra como configurar um sistema de arquivos para que todos no grupo staff possam criar e montar sistemas de arquivos no sistema de arquivos tank, bem como destruir seus próprios sistemas de arquivos. No entanto, os membros do grupo staff não podem destruir os sistemas de arquivos de outros.

# zfs allow staff create,mount tank/home
# zfs allow -c create,destroy tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy
Local+Descendent permissions:
        group staff create,mount
# su cindy
cindy% zfs create tank/home/cindy
cindy% exit
# su mark
mark% zfs create tank/home/mark/data
mark% exit
cindy% zfs destroy tank/home/mark/data
cannot destroy 'tank/home/mark/data': permission denied

Exemplo 9-3 Delegando permissões no nível correto do sistema de arquivos

Certifique-se de ter delegado permissão aos usuários no nível correto do sistema de arquivos. Por exemplo, ao usuário mark são delegadas as permissões create, destroy e mount para os sistemas de arquivos locais e descendentes. Ao usuário mark, é concedida a permissão local para realizar instantâneos do sistema de arquivos tank/home, mas não a permissão para realizar instantâneos do seu próprio sistema de arquivos. Assim, ele não tem a permissão snapshot delegada no nível correto do sistema de arquivos.

# zfs allow -l mark snapshot tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy
Local permissions:
        user mark snapshot
Local+Descendent permissions:
        group staff create,mount
# su mark
mark$ zfs snapshot tank/home@snap1
mark$ zfs snapshot tank/home/mark@snap1
cannot create snapshot 'tank/home/mark@snap1': permission denied

Para conceder ao usuário mark a permissão no nível do descendente, utilize a opção zfs allow - d. Por exemplo:

# zfs unallow -l mark snapshot tank/home
# zfs allow -d mark snapshot tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy
Descendent permissions:
        user mark snapshot
Local+Descendent permissions:
        group staff create,mount
# su mark
$ zfs snapshot tank/home@snap2
cannot create snapshot 'tank/home@snap2': permission denied
$ zfs snapshot tank/home/mark@snappy

Agora, o usuário mark pode apenas criar um instantâneo abaixo do nível do sistema de arquivos tank/home.

Exemplo 9-4 Definindo e usando permissões delegadas complexas

É possível delegar permissões específicas a usuários ou grupos. Por exemplo, o comando zfs allow a seguir delega permissões específicas ao grupo staff. Além disso, as permissões destroy e snapshot são delegadas após a criação dos sistemas de arquivos tank/home.

# zfs allow staff create,mount tank/home
# zfs allow -c destroy,snapshot tank/home
# zfs allow tank/home
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy,snapshot
Local+Descendent permissions:
        group staff create,mount

Como o usuário mark é membro do grupo staff, ele pode criar sistemas de arquivos tank/home. Além disso, o usuário mark pode criar um instantâneo de tank/home/mark2 porque possui as permissões específicas para isso. Por exemplo:

# su mark
$ zfs create tank/home/mark2
$ zfs allow tank/home/mark2
---- Permissions on tank/home/mark2 ----------------------------------
Local permissions:
        user mark create,destroy,snapshot
---- Permissions on tank/home ----------------------------------------
Create time permissions:
        create,destroy,snapshot
Local+Descendent permissions:
        group staff create,mount

Mas o usuário mark não pode criar um instantâneo em tank/home/mark porque ele não possui a permissão específica para fazê-lo. Por exemplo:

$ zfs snapshot tank/home/mark2@snap1
$ zfs snapshot tank/home/mark@snap1
cannot create snapshot 'tank/home/mark@snap1': permission denied

Neste exemplo, usuário mark possui permissão create no diretório home, o que significa que ele pode criar instantâneos. Esta situação é útil quando o sistema de arquivos está montado em NFS.

Exemplo 9-5 Definindo e usando um conjunto de permissões delegadas do ZFS

O exemplo a seguir mostra como criar um conjunto de permissões @myset e delegar o conjunto de permissões no grupo staff para o sistema de arquivos tank. O usuário cindy, membro do grupo staff, possui a permissão para criar um sistema de arquivos em tank. Entretanto, o usuário lp não possui permissão para criar um sistema de arquivos em tank.

# zfs allow -s @myset create,destroy,mount,snapshot,promote,clone,readonly tank
# zfs allow tank
---- Permissions on tank ---------------------------------------------
Permission sets:
        @myset clone,create,destroy,mount,promote,readonly,snapshot
# zfs allow staff @myset,rename tank
# zfs allow tank
---- Permissions on tank ---------------------------------------------
Permission sets:
        @myset clone,create,destroy,mount,promote,readonly,snapshot
Local+Descendent permissions:
        group staff @myset,rename
# chmod A+group:staff:add_subdirectory:fd:allow tank
# su cindy
cindy% zfs create tank/data
cindy% zfs allow tank
---- Permissions on tank ---------------------------------------------
Permission sets:
        @myset clone,create,destroy,mount,promote,readonly,snapshot
Local+Descendent permissions:
        group staff @myset,rename
cindy% ls -l /tank
total 15
drwxr-xr-x   2 cindy   staff          2 Jun 24 10:55 data
cindy% exit
# su lp
$ zfs create tank/lp
cannot create 'tank/lp': permission denied