Permissões avançadas parte 1

Em sistemas operacionais do tipo Unix, o comando:
getfacl – obtém listas de controle de acesso a arquivos

Sinopse
getfacl [-aceEsRLPtpndvh] file …

getfacl [-aceEsRLPtpndvh] –

Descrição
Para cada arquivo, getfacl exibe o nome do arquivo, o proprietário, o grupo e a Lista de controle de acesso (ACL). Se um diretório tiver uma ACL padrão, getfacl também exibirá a ACL padrão. Não diretórios não podem ter ACLs padrão.

Se getfacl for usado em um sistema de arquivos que não suporta ACLs, getfacl exibirá as permissões de acesso definidas pelos bits de permissão do modo de arquivo tradicional.

O formato de saída do getfacl é o seguinte:

1: # file: somedir/
2: # owner: lisa
3: # group: staff
4: # flags: -s-
5: user::rwx
6: user:joe:rwx #effective:r-x
7: group::rwx #effective:r-x
8: group:cool:r-x
9: mask::r-x
10: other::r-x
11: default:user::rwx
12: default:user:joe:rwx #effective:r-x
13: default:group::r-x
14: default:mask::r-x
15: default:other::—

As linhas 1 a 3 indicam o nome do arquivo, o proprietário e o grupo proprietário.

A linha 4 indica os bits setuid (s), setgid (s) e sticky (t): a letra que representa o bit ou um traço (-). Esta linha é incluída se algum desses bits estiver definido e deixado de fora, portanto, não será mostrado para a maioria dos arquivos. (Consulte CONFORMIDADE COM POSIX 1003.1e DRAFT STANDARD 17 abaixo.)

As linhas 5, 7 e 10 correspondem ao usuário, grupo e outros campos dos bits de permissão do modo de arquivo. Essas três são chamadas de entradas básicas da ACL. As linhas 6 e 8 são entradas nomeadas de usuário e grupo nomeado. A linha 9 é a máscara de direitos efetivos. Esta entrada limita os direitos efetivos concedidos a todos os grupos e usuários nomeados. (O proprietário do arquivo e outras permissões não são afetados pela máscara de direitos efetivos; todas as outras entradas são.) As linhas 11 a 15 exibem a ACL padrão associada a esse diretório. Os diretórios podem ter uma ACL padrão. Arquivos regulares nunca têm uma ACL padrão.

O comportamento padrão para getfacl é exibir a ACL e a ACL padrão e incluir um comentário de direitos efetivos para linhas em que os direitos da entrada diferem dos direitos efetivos.

Se a saída for para um terminal, o comentário de direitos efetivos é alinhado à coluna 40. Caso contrário, um único caractere de tabulação separa a entrada ACL e o comentário de direitos efetivos.

As listagens ACL de vários arquivos são separadas por linhas em branco. A saída de getfacl também pode ser usada como entrada para setfacl..

Permissões

O processo com acesso de pesquisa a um arquivo (ou seja, processos com acesso de leitura ao diretório que contém um arquivo) também recebe acesso de leitura às ACLs do arquivo. Isso é análogo às permissões necessárias para acessar o modo de arquivo.

Opções

-a, –access
Exiba a lista de controle de acesso ao arquivo.
-d, –default
Exiba a lista de controle de acesso padrão.
-c, –omit-header
Não exiba o cabeçalho do comentário (as três primeiras linhas da saída de cada arquivo).
-e, –all-effective
Imprima todos os comentários de direitos efetivos, mesmo que idênticos aos direitos definidos pela entrada da ACL.
-E, –no-effective
Não imprima comentários de direitos efetivos.
-s, –skip-base
Ignore arquivos que tenham apenas as entradas ACL básicas (proprietário, grupo, outros).
-R, –recursive
Lista as ACLs de todos os arquivos e diretórios recursivamente.
-L, –logical
“Caminhada lógica” (siga os links simbólicos ). O comportamento padrão é seguir os argumentos do link simbólico e ignorar os links simbólicos encontrados nos subdiretórios.
-P, –physical
“Caminhada física” (pule todos os links simbólicos). Isso também ignora os argumentos de link simbólico.
-t, –tabular
Use um formato alternativo de saída tabular. A ACL e a ACL padrão são exibidas lado a lado. As permissões que não são eficazes devido à entrada da máscara da ACL são exibidas em maiúsculas. Os nomes das tags de entrada para as entradas ACL_USER_OBJ e ACL_GROUP_OBJ também são exibidos em letras maiúsculas, o que ajuda a identificar essas entradas.
-p, –absolute-names
Não retire os caracteres de barra inicial (‘ / ‘). O comportamento padrão é remover os caracteres de barra inicial.
-n, –numeric
Listar IDs numéricos de usuários e grupos.
-v, –version
Imprima a versão do getfacl e saia.
-h, –help
Imprime ajuda para explicar as opções da linha de comando.

— Fim das opções de linha de comando. Todos os parâmetros restantes são interpretados como nomes de arquivo, mesmo que comecem com um traço.

– Se o parâmetro do nome do arquivo for um único traço, getfacl lerá uma lista de arquivos da entrada padrão.

Conformidade com POSIX 1003.1e DRAFT STANDARD 17
Se a variável de ambiente POSIXLY_CORRECT for definida, o comportamento padrão de getfacl será alterado das seguintes maneiras: A menos que especificado de outra forma, apenas a ACL é impressa. A ACL padrão é impressa apenas se a opção -d for fornecida. Se nenhum parâmetro de linha de comando for fornecido, getfacl se comporta como se tivesse sido invocado como “getfacl -”. Nenhum comentário sinalizador indicando setuid, setgid e sticky bits são gerados.

Exemplo de uso

getfacl myfile.txt

Exibe a lista de controle de acesso para o arquivo myfile.txt . A saída se assemelha ao seguinte:

# file: myfile.txt
# owner: computerhope
# group: users
user :: rw-
group :: r–
outro :: r–