Essa dica permite e facilita muito ajustar permissões no
Linux, alterando-as em arquivos e diretórios, para um usuário específico com o uso de ACLs.
Só funciona para kernels 2.6.X e acima, vindo habilitada por padrão no
Slackware 13.1. No Debian 5.0.5 é preciso instalá-lo. Nas outras distribuições não testei (estou ficando velho e preguiçoso).
Habilitando as Listas de Controle de Acesso (ACLs).
1° - Adicionando acl no /etc/fstab
# vim /etc/fstab
Escolha onde você quer habilitar as ACLs, por exemplo:
/dev/sda3 / reiserfs notail,noatime,acl 0 1
ou
/dev/sda2 /home ext4 acl,rw 0 0
Saia salvando.
2° - Monte a partição alterada:
# mount -v -o remount /
ou
# mount -v -o remount /home
3° - Instale o pacote acl:
# apt-get install acl //Ou faça de acordo com a sua distribuição
4° - Reinicie:
# shutdown -r now
Concedendo permissões:
# setfacl -m u:joão:rw- pasta_A
Este comando concede ao usuário "joão" o acesso ao arquivo "pasta_A" com permissão de leitura e escrita.
# setfacl -m u:manoel:rwx /home/debina/pasta_B
Este comando concede ao usuário "manoel" o acesso ao arquivo "pasta_B" com permissão total, sendo que "manoel" foi criado agora só para tomar conta da pasta_B.
# getfacl /home/debina/pasta_B //Esse comando mostra se as permissões foram configuradas corretamente.
# setfacl -m g:usam_linux:r-- bill
Este comando concede ao grupo "usam_linux" o acesso ao arquivo "bill" com permissão de leitura.
# getfacl bill
# setfacl --help //Mostra a ajuda
Esse comando vai pegar com certeza. Ninguém precisa mais se preocupar com quem é o dono do arquivo e/ou diretório. Vai gerar discussão porque o Linux está ficando muito parecido com aquele outro sistema.