Listas de controle de acesso

Geralmente, uma ACL consiste em uma série de entradas chamadas de Entrada de Controle de Acesso (ACE). Cada ACE define os direitos de acesso para um usuário em relacionamento com o objeto.

Quando um acesso for tentado, o sistema operacional utilizará a ACL associada ao objeto para ver se o usuário tem os direitos de fazê-lo. Essas ACLs e as verificações de acesso relacionadas formam o núcleo do mecanismo de Controle de Acesso Descrecricionário (DAC) suportado pelo AIX®.

O sistema operacional suporta vários tipos de objetos do sistema que permitem que os processos do usuário armazenem ou comuniquem informações. Os tipos mais importantes de objetos controlados por acesso são os seguintes:
  • Arquivos e diretórios
  • Canais nomeados
  • Objetos IPC como filas de mensagens, segmentos de memória compartilhada e semáforos

Todas as verificações de permissão de acesso para esses objetos são feitas no nível de chamada do sistema quando o objeto é acessado pela primeira vez. Como os objetos de Comunicação Interprocessual do Sistema V (SVIPC) são acessados sem estado, são feitas verificações para cada acesso. Para objetos com nomes do sistema de arquivos, é necessário estar apto a resolver o nome do objeto real. Os nomes são resolvidos de forma relativa (no diretório ativo do processo) ou absoluta (no diretório raiz do processo). Toda resolução do nome começa pela procura de um desses diretórios.

O mecanismo de controle de acesso discricionário permite um controle de acesso efetivo dos recursos de informações e fornece proteção separada da confidencialidade e da integridade das informações. Os mecanismos de controle de acesso controlados pelo proprietário são tão eficazes quanto os usuários os criam. Todos os usuários devem entender como as permissões de acesso são concedidas e negadas e como elas são definidas.

Por exemplo, uma ACL associada a um objeto do sistema de arquivos (arquivo ou diretório) poderia impor os direitos de acesso para vários usuários em relação ao acesso do objeto. É possível que tal ACL pudesse impor diferentes níveis de direitos de acesso, como leitura ou gravação, para usuários diferentes.

Geralmente, cada objeto terá um proprietário definido e, em alguns casos, será associado a um grupo primário. O proprietário de um objeto específico controla seus atributos de acesso discricionário. Os atributos do proprietário são configurados para o ID de usuário efetivo do processo de criação.

A lista a seguir contém atributos de controle de acesso direto para os diferentes tipos de objetos:
Proprietário
Para objetos de Comunicação Interprocessual do Sistema V (SVIPC), o criador ou proprietário pode mudar a propriedade do objeto. Os objetos SVIPC têm um criador associado que possui todos os direitos do proprietário (incluindo a autorização de acesso). O criador não pode ser mudado, mesmo com autoridade de administrador.

Os objetos SVIPC são inicializados para o ID do grupo efetivo do processo de criação. Para objetos do sistema de arquivos, os atributos de controle de acesso direto são inicializados para o ID do grupo efetivo do processo de criação ou o ID do grupo do diretório-pai (isto é determinado pela sinalização de herança de grupo do diretório-pai).

Grupo
O proprietário de um objeto pode mudar o grupo. O novo grupo deve ser o ID do grupo efetivo do processo de criação ou o ID do grupo do diretório-pai. (Como acima, os objetos SVIPC possuem um grupo de criação associado que não pode ser alterado e compartilham a autorização de acesso do grupo de objetos.)
Modo
O comando chmod (em modo numérico com notações octais) pode configurar permissões e atributos de base. A sub-rotina chmod que é chamada pelo comando, desativa permissões estendidas. As permissões estendidas serão desativadas se você usar o modo numérico do comando chmod em um arquivo que tenha uma ACL. O modo simbólico do comando chmod desativa ACLs estendidas para o tipo de ACL NSF4, mas não desativa as permissões estendidas para as ACLs do tipo AIXC. Para obter informações sobre o modo numérico e simbólico, consulte chmod.

Muitos objetos no sistema operacional, como soquetes e objetos do sistema de arquivos, possuem ACLs associadas para diferentes sujeitos. Detalhes de ACLs para esses tipos de objetos poderão variar de uma para outra.

Tradicionalmente, o AIX tem bits de modo suportado para controlar o acesso aos objetos do sistema de arquivos. Ele também suportava uma forma exclusiva de ACL em torno de bits de modo. Esta ACL consistia em bits de modo base e também permitia a definição de várias entradas ACE, cada entrada ACE definindo direitos de acesso para um usuário ou grupo em torno dos bits de modo. Este tipo clássico de comportamento da ACL continuará a ser suportado e é denominado tipo de ACL AIXC.

Observe que o suporte de uma ACL em objetos do sistema de arquivos depende do sistema de arquivos físico (PFS) subjacente. O PFS deve entender os dados da ACL e estar apto a armazenar, recuperar e impingir os acessos para vários usuários. É possível que alguns dos sistemas de arquivos físicos não suportem nenhuma ACL sequer (pode apenas suportar os bits de modo base) em comparação a um sistema de arquivos físico que suportava vários tipos de ACLs. Poucos dos sistemas de arquivos sob AIX foram aprimorados para suportar vários tipos ACL. JFS2 e GPFS terão a capacidade de suportar o tipo de ACL baseado em protocolo NFS versão 4 baseado em protocolo também. Esta ACL foi nomeada tipo de ACL NFS4 no AIX. Este tipo de ACL adere à maior parte da definição de ACL nas especificações de protocolo do NFS versão 4. Ele também suporta controles de acesso mais granulares em comparação com o tipo de ACL AIXC e fornece capacidades como herança.