O File Storage NAS oferece listas de controle de acesso (ACLs) NFS, incluindo POSIX ACL e NFSv4 ACL, para sistemas de arquivos NFS. As NFS ACLs permitem conceder permissões refinadas em diretórios e arquivos a usuários e grupos específicos.
Contexto
Quando vários usuários e grupos compartilham um sistema de arquivos, os administradores precisam de controle refinado sobre quem acessa arquivos e diretórios específicos. O File Storage NAS fornece NFS ACLs — incluindo NFSv4 ACL e POSIX ACL — para essa finalidade. Uma ACL é uma lista de entradas de controle de acesso (ACEs) que definem permissões em um arquivo ou diretório.
A montagem de um sistema de arquivos com NFSv4 ACL via NFSv3 converte as ACLs para POSIX ACLs, e vice-versa. No entanto, os dois tipos de ACL não são totalmente compatíveis, e a interoperabilidade entre mode e ACLs é limitada. Montagens NFSv3 também não suportam bloqueios. Se você utilizar NFSv4 ACLs, faça a montagem apenas com o protocolo NFSv4 e evite mode e POSIX ACLs. Recursos.
Ative a NFS ACL pelo console ou pela API. Configure o recurso NFS ACL.
POSIX ACL
A POSIX ACL estende o modelo de permissão padrão mode ao permitir a definição de permissões para usuários e grupos específicos, além das classes owner, group e other. Ela também suporta herança de permissões.
Cada ACE especifica permissões de leitura, gravação e execução para um usuário ou grupo.
Uma ACE contém um tipo de tag, um qualificador opcional e um conjunto de permissões, no formato default:type:permissions.
-
default: ACE de herança de diretório
Indica uma ACE de herança para um diretório. Apenas diretórios suportam este tipo de ACE.
-
type: Tipo de tag da ACE
Uma ACE POSIX deve ter exatamente um dos seis tipos. Cada tipo é representado por um único caractere.
Tipo
Identificador
Descrição
ACL_USER_OBJ
user:O proprietário do arquivo.
ACL_USER
user:uidUm usuário específico. Exemplo:
user:admin.ACL_GROUP_OBJ
group:O grupo proprietário do arquivo.
ACL_GROUP
group:gidUm grupo de usuários específico. Exemplo:
group:players.ACL_MASK
mask:As permissões máximas para ACEs aplicáveis a usuários específicos, ao grupo proprietário e a grupos de usuários específicos.
ACL_OTHER
other:Outros usuários.
-
Permissões
Permissão
Descrição
r
Permissão de leitura.
w
Permissão de gravação.
x
Permissão para executar um arquivo ou entrar em um diretório.
-
Sem permissão.
Detalhes sobre POSIX ACL: acl - Linux man page.
NFSv4 ACL
A NFSv4 ACL oferece controle de permissões mais granular do que a POSIX ACL.
O formato da ACE para uma NFSv4 ACL é type:flags:principal:permissions.
-
Tipo de ACE
Cada ACE NFSv4 deve ter exatamente um dos quatro tipos, representados por um único caractere.
Tipo
Identificador
Descrição
Allow
A
Permitir.
Concede as permissões especificadas.
Deny
D
Negar.
Nega as permissões especificadas.
Audit
U
Auditoria.
Registra qualquer acesso que exija as permissões especificadas. Requer uma ou ambas as flags de successful-access e failed-access. Apenas alguns sistemas suportam este tipo.
Alarm
L
Alarme.
Gera um alarme do sistema para qualquer acesso que exija as permissões especificadas. Requer uma ou ambas as flags de successful-access e failed-access. Apenas alguns sistemas suportam este tipo.
-
Flags
As ACEs possuem três categorias de flags: grupo, herança e administrativas.
Flag
Identificador
Descrição
group
g
Especifica um grupo de usuários.
directory-inherit
d
ACE de herança de diretório.
Subdiretórios recém-criados herdam a ACE.
file-inherit
f
ACE de herança de arquivo.
-
Arquivos recém-criados herdam a ACE do diretório pai, mas suas flags de herança são removidas.
-
Subdiretórios recém-criados herdam a ACE do diretório pai. Se
directory-inheritnão for também especificado na ACE pai,inherit-onlyé adicionado à ACE herdada.
inherit-only
i
A ACE não é considerada durante verificações de permissão, mas é herdável. No entanto, a flag
inherit-onlyé removida da ACE herdada.no-propagate-inherit
n
Subdiretórios recém-criados herdam a ACE, mas suas flags de herança são removidas.
successful-access
S
Para ACEs de Audit ou Alarm, esta flag aciona a ação especificada quando uma tentativa de acesso correspondente às permissões é bem-sucedida.
failed-access
F
Para ACEs de Audit ou Alarm, esta flag aciona a ação especificada quando uma tentativa de acesso correspondente às permissões é negada.
-
-
Principal
O principal que pode executar operações em um arquivo, incluindo OWNER@, GROUP@, EVERYONE@ ou um principal específico.
-
Permissões
NotaAs permissões mínimas padrão para o principal OWNER@ são tTnNcCy. Permissões inferiores a estas não são permitidas.
As permissões mínimas padrão para os principais GROUP@ e EVERYONE@ são tncy. Permissões inferiores a estas não são permitidas.
Detalhes sobre NFSv4 ACL: nfs4_acl - Linux man page.
Diretrizes para POSIX ACL
-
Defina ACLs
Utilize herança (
default) para aplicar a mesma ACL a uma árvore de subdiretórios, evitando configurações individuais por arquivo ou diretório.Use
setfacl -Rcom cautela — executá-lo em grandes árvores de diretórios gera pressão de metadados e degrada o desempenho.Planeje os grupos de usuários e as permissões antes de definir ACLs. Gerencie o acesso por meio de associações a grupos para ajustar permissões alterando grupos em vez de modificar ACLs. Sempre defina ACLs para grupos, não para usuários individuais.
Se você usar POSIX ACL em vários clientes, garanta UIDs e GIDs correspondentes para os mesmos usuários e grupos. O NAS identifica principais por UID ou GID, não por nome.
-
Utilizar ACLs
O sistema verifica todas as ACEs durante cada checagem de permissão. Minimize a quantidade de ACEs para evitar degradação de desempenho.
-
Defina permissões para 'other'
Minimize as permissões de 'other' — elas se aplicam a todos os usuários. Conceder a 'other' mais acesso do que a uma ACE específica cria um risco de segurança.
Execute
umask 777antes do seu código para definir omodede criação como000, minimizando as permissões padrão. umask e mode padrão.Após ativar a POSIX ACL, a classe 'other' no modo de arquivo é tratada como 'everyone' durante as verificações de permissão.
Diretrizes para NFSv4 ACL
-
Defina ACLs
Defina ACLs usando UIDs ou GIDs, como
UID 1001.Utilize herança para aplicar a mesma ACL a uma árvore de subdiretórios, evitando configurações de ACL individuais por arquivo ou diretório.
Use
nfs4_setfacl -Rcom cautela — executá-lo em grandes árvores de diretórios gera pressão de metadados e degrada o desempenho.
-
Utilizar ACLs
O sistema verifica todas as ACEs durante cada checagem de permissão. Minimize a quantidade de ACEs para evitar degradação de desempenho.
-
Defina permissões de ACL
Após adotar NFSv4 ACLs, evite usar
mode.O comando
nfs4_setfaclsuporta as opções -a, -x e -m, masnfs4_setfacl -e <file>oferece uma experiência de edição interativa mais intuitiva.Permissões de gravação muito refinadas podem causar falhas inesperadas — por exemplo, conceder
wsemapode bloquear gravações. Problemas semelhantes ocorrem em modificações de diretórios. UseWmaiúsculo comnfs4_setfaclpara definir permissões de gravação. Onfs4_setfaclexpandeWpara o conjunto completo de gravação:wadTpara arquivos ewadTDpara diretórios.Planeje os grupos de usuários e as permissões antes de definir ACLs. Gerencie o acesso por meio de associações a grupos para ajustar permissões alterando grupos em vez de modifique ACLs. Sempre defina ACLs para grupos, não para usuários individuais.
O NAS suporta apenas ACEs
Allowpara NFSv4 ACLs, não ACEsDeny. Minimize as permissões de 'everyone' — acesso excessivo a 'everyone' cria vulnerabilidades de segurança.
Configure NFS ACL
Após ativar a NFS ACL, use POSIX ACL ou NFSv4 ACL para gerenciar permissões de arquivos e diretórios.
Sistemas de arquivos NFSv3: Gerencie permissões usando POSIX ACL.
Sistemas de arquivos NFSv4: Gerencie permissões usando NFSv4 ACL.