[Dica] Usando ACLs nos arquivos

Home / Sem categoria / [Dica] Usando ACLs nos arquivos

cadeado

Sabe aquela história de ‘dá um CHMOD 777 aí pra mim‘?! Então….vamos lá!

Essa é a pior prática que se possa imaginar quando se pensa em um mínimo de segurança para arquivos ou diretórios. Por que?

R: os campos de permissionamento de arquivos são (PERMISSÕES_DO_DONO_DO_ARQUIVO)(PERMISSÕES_DO_GRUPO_DO_ARQUIVO)(PERMISSÃO_PARA_OUTROS)

No modelo numérico, cada permissão tem o seu valor:

Leitura (R) – 4

Gravação (W) – 2

Execução (X) – 1

A soma dessas permissões vai dar o nível de permissionamento que o arquivo vai ter. Exemplo: 7=RWX, 6 = RW, 5=RX, 3=WX. Ou seja: o nível que tem permissão 777 pode fazer literalmente o que quiser com o arquivo, desde copiar até destruir seu conteúdo.

Um arquivo com permissão 666 tem permissão RW_RW_RW_ .Sendo assim, tanto dono, quanto grupo e também OUTROS (leia qualquer usuário) podem ler,  e escrever no arquivoCaso o arquivo fosse 777, tería permissão também de execução mas, em Linux, arquivo só precisa ter permissão de execução quando é um programa.

TRABALHANDO COM ACL (Lista de Controle de Acesso)

Vamos dizer que a real necessidade do pedido ‘dá um 777 aí nesse arquivo pra mim’ seja que uma lista de usuários tenha permissão para escrever ou ler o arquivo fu. Só que o dono dele é o root e o grupo dele é o grupo root também. E aí? Muda o proprietário do arquivo? Não! Insere os usuários no grupo root e dá permissão de gravação para o grupo?! Não seria também uma boa idéia, já que podem haver outros arquivos com permissão de gravação para o grupo root.

ls-fu

Uma boa prática é primeiro ter a lista de usuários e permissões que precisam, que (neste caso é):

maria: permissão RW;

joao: permissão R;

jose: permissao:RX.

Vamos utilizar para isto o comando setfacl:

#setfacl -m u:maria:rw fu

#setfacl -m u:joao:r fu

Para ficar ‘redondinho’, podemos aproveitar e remover essa permissão de leitura para outros, já que é um arquivo tão importante:

#chmod o-x fu

Vamos conferir como ficou então:

 

 

getfacl_fu

É uma dica bem básica sobre este assunto, o ideal é você se aprofundar no domínio das ferramentas acima. Vai valer a pena, acredite!

Viu? Não precisa dar permissão para todo e qualquer usuário quando se quer contemplar apenas uma lista.

Gostou? Se inscreva no nosso site para receber as novidades sobre treinamentos e dicas como esta.

Grande abraço!