Português (Brasil)

Ferramentas de desenvolvedor · Calculadora Chmod

POSIX ACLs vs bits do modo chmod: quando rwx não é suficiente

· Fundo

chmod unix controle de acesso

Limites ACL mostrados como um diagrama de bits de permissão Unix distinto
Ilustração vetorial original ToolAcre

Os bits de modo cobrem um proprietário, um grupo e todos os demais. Esta postagem explica o modelo POSIX.1e ACL que preenche a lacuna, como ele interage com o chmod e quando um grupo compartilhado ainda é a resposta mais simples.

Um leitor a mais do que o modelo permite — um arquivo pertence ao grupo de aplicativos e um auditor fora do grupo precisa lê-lo

O modelo de modo comum não possui um quarto slot de identidade. Ele pode descrever permissões para um proprietário, um grupo e todos os demais, mas não pode nomear um auditor adicional. A calculadora reflete exatamente esse limite: sua matriz, exibição simbólica e resumos expõem essas três classes mais bits especiais, e não entradas de acesso por usuário ou por grupo.

Ampliar a outra classe apenas para acomodar um leitor extra afetaria todas as identidades incluídas nessa classe. A calculadora pode mostrar essa mudança aritmética, como passar de 0640 para 0644, mas não pode decidir se um acesso mais amplo é aceitável. O acesso nomeado requer evidências e ferramentas fora desta rota.

O limite de três classes — por que o modelo tradicional tem exatamente um slot para proprietário, grupo e outros

Cada dígito octal final pertence a uma classe fixa. Proprietário, grupo e outros recebem sinalizadores de leitura, gravação e execução, produzindo nove posições ordinárias. O modelo não pode inserir outro triplo para uma pessoa nomeada. Uma conversão bem-sucedida, portanto, descreve fielmente o modo base, sem dizer nada sobre entradas adicionais anexadas em outro lugar.

Essa limitação é importante ao ler resultados aparentemente restritivos. Um valor simbólico de rw-r----- informa o proprietário base, o grupo e outros bits representados por 0640. Isso não prova que nenhuma outra identidade pode ler o objeto, porque a calculadora não inspeciona os dados ACL nem observa qualquer camada de aplicação externa.

POSIX.1e ACLs — entradas de usuário nomeado e grupo nomeado adicionadas ao mesmo arquivo, definidas com setfacl e lidas com getfacl

As entradas de usuário nomeado e grupo nomeado não são implementadas. A fonte não contém nenhum analisador ou formatador para registros ACL, nenhuma máscara ACL e nenhuma operação setfacl ou getfacl. Esses conceitos podem motivar o uso de um mecanismo externo de controle de acesso, mas este artigo não pode especificar a sintaxe ou o comportamento do comando além de reconhecer o limite explícito da calculadora.

Mantenha o modo base visível enquanto executa esse trabalho separado. Insira o valor octal relatado, verifique o proprietário, o grupo e outras triplas e registre qualquer bit especial. Em seguida, use documentação oficial do sistema de arquivos e ferramentas externas adequadas para entradas nomeadas. A visualização do chmod gerada pela calculadora não cria, inspeciona ou preserva um ACL.

Entradas nomeadas ACL requerem ferramentas externas não implementadas aqui

A relação entre uma alteração de chmod, bits de classe de grupo e uma máscara ACL depende do comportamento não implementado aqui. A calculadora simplesmente converte um modo de doze bits e emite uma atribuição ou argumento octal. Não possui estado ACL para calcular os direitos efetivos, portanto não pode prever se uma entrada nomeada seria limitada.

Evite descrever uma consequência ACL apenas da saída do modo. Uma mudança de 0640 para 0600 remove comprovadamente os três bits de classe de grupo neste modelo; qualquer coisa sobre usuários nomeados, grupos nomeados ou máscaras requer o ACL real e as regras da plataforma. Verifique-os com a documentação do sistema de arquivos antes de aplicar o comando exibido a um objeto contendo ACL.

ACL mascara interação com chmod precisa de documentação do sistema de arquivos

A herança ACL padrão também está além da rota. A página não possui entrada de diretório ACL, nenhuma operação de criação e nenhum campo umask. Mudar o seletor de destino de arquivo para diretório altera os verbos em inglês simples anexados a um modo fixo; ele não cria um arquivo, modela herança ou calcula as permissões de um objeto futuro.

Pela mesma razão, um modo de diretório atual não pode prever o modo de cada novo filho aqui. A calculadora pode explicar que a leitura, gravação e execução do diretório correspondem à listagem, modificação de entradas e acesso a conteúdos nomeados. Ele não pode combinar esses bits básicos com entradas padrão, solicitações de criação ou máscaras de processo que nunca recebe.

A herança ACL padrão e a interação umask estão fora desta rota

Considere um modo base fornecido de 0640 para um arquivo que pode precisar de um leitor adicional. A calculadora renderiza rw-r-----: leitura e gravação do proprietário, leitura do grupo, outro nenhum. Essa é a declaração completa apoiada pelas suas contribuições. Não identifica o auditor nem oferece uma quarta classe na qual colocar essa identidade.

Preserve este registro de modo base enquanto o trabalho ACL ocorre em outro lugar. Se o processo externo relatar posteriormente um modo diferente, decodifique-o novamente e compare cada classe. Não cole um comando ACL no campo de modo ou presuma que a visualização do comando incorpora entradas nomeadas. Sempre representa apenas o modo numérico mostrado atualmente.

Exemplo resolvido: mantenha o modo base legível enquanto o trabalho ACL acontece em outro lugar

Outras famílias ACL, regras de sistemas de arquivos remotos e suporte de montagem não são estabelecidos por essas fontes. A calculadora não detecta o tipo de armazenamento, opções montadas, sistema operacional ou disponibilidade de operações ACL. Uma visão ACL ausente é, portanto, um limite de implementação, e não uma evidência de que o objeto subjacente carece de controles de acesso mais ricos.

A política obrigatória, as capacidades, a propriedade e a identidade do processo também são separadas. Mesmo o conhecimento completo do modo base não pode substituir essas entradas. Relate a conversão do modo como uma camada e rotule explicitamente cada camada não observada. Isso evita que uma exibição rwx limpa seja confundida com uma análise de autorização completa.

Outros modelos ACL e suporte de montagem não são inferidos

Quando três classes são suficientes, a calculadora fornece um relato preciso e reversível delas. Quando não estiverem, mantenha a conta base legível em vez de forçar uma exceção nomeada na outra classe. As visualizações octal, simbólica e de caixa de seleção devem concordar com o mesmo proprietário, grupo, outro e valor de bit especial.

A regra de parada é simples: use esta rota para aritmética de modo base e ferramentas externas autorizadas para o estado ACL. Nunca infira entradas nomeadas, máscaras, herança ou suporte ao sistema de arquivos apenas do rwx. Uma revisão cuidadosa combina essas fontes de evidências separadas sem fingir que a calculadora implementa estruturas de controle de acesso que seu código-fonte não contém.