Capítulo 24. Listas de controle de acesso no Linux

Índice

24.1. Vantagens das ACLs
24.2. Definições
24.3. Gerenciando ACLs
24.4. Suporte a ACL em aplicativos
24.5. Para obter mais informações

Resumo

Este capítulo apresenta um breve resumo do segundo plano e das funções das ACLs (listas de controle de acesso) POSIX para os sistemas de arquivos do Linux. As ACLs podem ser usadas como expansão do conceito tradicional de permissão para objetos do sistema de arquivos. Com as ACLs, as permissões podem ser definidas com mais flexibilidade do que permite o conceito de permissão tradicional.

O termo ACL POSIX sugere que este é um verdadeiro padrão POSIX (portable operating system interface). Os respectivos padrões de rascunho POSIX 1003.1e e POSIX 1003.2c foram removidos por vários motivos. Contudo, as ACLs, como encontradas em vários sistemas pertencentes à família UNIX, são baseadas nesses rascunhos, e a implementação das ACLs do sistema de arquivos, como descrita neste capítulo, também segue esses padrões. Elas podem ser vistas em http://wt.xpilot.org/publications/posix.1e/.

24.1. Vantagens das ACLs

Tradicionalmente, três conjuntos de permissões são definidos para cada objeto de arquivo em um sistema Linux. Esses conjuntos incluem as permissões de leitura (r), gravação (w) e execução (x) para cada um dos três tipos de usuários: o proprietário do arquivo, o grupo e os outros usuários. Além disso, é possível definir o set user id, o set group id e o sticky bit. Este conceito simples é completamente adequado para a maioria dos casos práticos. Porém, para os cenários mais complexos ou aplicativos avançados, os administradores de sistema tiveram que usar anteriormente várias estratégias para se esquivar das limitações do conceito tradicional de permissão.

As ACLs podem ser usadas em situações que exigem uma extensão do conceito tradicional de permissão de arquivo. Elas admitem a atribuição de permissões a usuários individuais ou a grupos, mesmo que eles não correspondam ao proprietário original ou ao grupo proprietário. As listas de controle de acesso são um recurso do kernel do Linux e são atualmente suportadas por ReiserFS, Ext2, Ext3, JFS e XFS. Com as ACLs, cenários complexos podem ser realizados sem a implementação de modelos de permissão complexos no nível do aplicativo.

As vantagens das ACLs ficam muito evidentes em situações como a substituição de um servidor Windows por um servidor Linux. Algumas das estações de trabalho conectadas podem continuar em execução no Windows, mesmo após a migração. O sistema Linux oferece serviços de arquivo e impressão para os clientes Windows com Samba. Levando-se em consideração que o Samba suporta listas de controle de acesso, as permissões de usuário podem ser configuradas em servidores Linux e Windows com interface gráfica do usuário (somente Windows NT e posterior). Com o winbindd, é possível até mesmo atribuir permissões a usuários que existem somente no domínio do Windows sem nenhuma conta no servidor Linux.