Sys Admin (ep. 03, parte 8-11) - Permissões (ACLs - atribuir permissões)
O comando setfacl serve como a principal
ferramenta para configurar permissões ACL em ficheiros e directórios , ajuda a
definir com precisão direitos de acesso além das permissões convencionais. O
objectivo é atribuir novas permissões ou remover as existentes, oferecendo
controlo total sobre cenários complexos de permissões para ficheiros e
directórios. Com domíno sobre o setfacl, pode-se
implementar políticas de acesso multiusuário refinadas, o que tornam as ACLs
uma ferramenta indispensável para a administração de sistemas modernos.
Veja abaixo a sintaxe para atribuir permissões especiais.
Vamos aos exemplos. Na imagem abaixo já apresentamos um exemplo de como atribuir permissões ACL. Antes começamos por verificar permissões actuais do ficheiro hello.sh, logo de seguida atribuimos ao usuário ordela3 permissões de leitura e escrira para este ficheiro. Vejamos.
- a opção ou switch -m que serve para indicar que estamos a adicionar (se já tiver, indica que estamos a modificar) permissões ACL.
- u:ordela3:rw que indica que estamos a atribuir permissões de leitura e escrita ao usuário ordela3.
Permissões foram atribuidas com sucesso e como podemos ver no resultado acima,
para além deste ficheiro pertencer ao usuário
root e estar associado ao grupo
root, o usuário
ordela3 especificamente agora tem poder de leitura
e escrita sobre este ficheiro. É qui onde reside a maior diferenca entre as
permissões ACLs e as permisões convencionais, e usando o comando
ls -l não possível verificar estas permissões,
embora nos é indicado através do simbolo + que
temos algo a mais do que podemos ver. Vejamos abaixo.
Podemos atribuir ao mesmo ficheiro, permissões para N usuários. No exemplo abaixo atribuimos permissoẽs de leitura, escrita e execussão para o usuário ordela, mantendo o usuário ordela3 com permissões de leitura e escrita apenas.
Podemos remover permissões específicas. Do mesmo jeito que atribuimos permissões usando a opção -m, podemos usar para diminuir ou adicionar permissões. No exemplo abaixo, removemos para o usuário ordela, as permissões de leitura e escrita, mantendo apenas a permissão de execussão. Com que então, sempre que usamos a opção -m para atibuir permissões a um usuário que já tem certas permissões ACL, as permissões antigas serão substituidas pelas novas, o que pode remover ou acrescentar dependendo do caso.
Atribuir permissões a um directório, para um usuário.
Definir permissões ACL por padrão para um directório. O que isto significa ? Ao se definir permissões ACL para por exemplo um usuário, este automaticamente herdará por padrão estas permissões para todos ficheiros e subdirectórios que forem posteriormente criados deste directório. Vamos acompanhar o exemplo abaixo.
Como podemos ver na imagem acima, o novo ficheiro foi criado e as permissões
de leitura e escrita for atribuidas para o usuário ordela3 por padrão.
Do mesmo jeito que adicionamos permissoẽs ACL, podemos também remover caso não
seja mais necessário que um usuário ou grupo tenha certas permissões. Vejamos
abaixo.
Conforme o exemplo mostra, as permissões foram removidas para o usuário ordela3. Este não tem mais acesso a este ficheiro. O mesmo fariamos para directórios, conforme mostra o comando na imagem acima.
Também se podem remover todas permissões ACL de uma só vez para todos usuários
e grupos, o que quer dizer "limpar todas permissões ACL num ficheiro ou
directório". Vejá o exemplo abaixo.
Nota: ao longo dos exemplos, pudemos perceber que após atribuir permissões ACL,
ao verificar a existência das mesmas consguimos ver uma descrição mask com
certas permisões. O mask define permissões máximas efectivas que podem ser
concedidas a todos usuários e grupos (excepto ao proprietário). Substitui e
limita permissões definidas nas entradas ACL.




















Comentários