O melhor pedaço da Maçã.

Segurança no mundo Apple: permissões de acesso (POSIX e ACL)

POSIX - ACL

Um aspecto importante da segurança de computadores é a concessão ou negação de permissões de acesso (às vezes chamado de direitos). Permissão é a capacidade de executar uma operação específica, como acesso a dados ou a execução de um código, concedidas a diretórios, arquivos e aplicativos. No OS X, as permissões são controladas pelos componentes Mach e BSD do kernel.

Publicidade

Você protege arquivos e diretórios, definindo permissões que restrinjam ou permitam acesso aos usuários. O OS X suporta dois métodos de permissionamento:

  • POSIX (Portable Operating System Interface), padrão nos sistemas baseados em UNIX.
  • ACLs (Access Control Lists), suportado pelo OS X como uma extensão do padrão POSIX — este método de permissionamento também é utilizado pelo sistema operacional Windows XP e superiores.

Permissões POSIX

A base de permissões no OS X é construída em cima do POSIX. Compartilhamento de rede, arquivo e diretório possuem atributos de leitura, gravação e execução, que podem ser definidos para proprietários (owner), grupo (group) e todos os outros (everyone).

Em POSIX, você pode atribuir quatro tipos de permissões através do Finder: Leitura & Gravação (Read & Write), Somente Leitura (Read Only), Somente Gravação (Write Only) e Nenhum (None). Estas permissões podem ser atribuídas às seguintes categorias de usuários:

Publicidade
  • Proprietário (Owner): um usuário que cria um objeto (arquivo ou diretório) no computador se torna proprietário daquele objeto, tendo então permissões de leitura e gravação. Por padrão, o proprietário e o administrador podem modificar os privilégios de acesso de um objeto, permitindo que um grupo ou todos os outros tenha acesso sobre aquele. O administrador também pode transferir a propriedade de um objeto para outro usuário.
  • Grupo (Group): você pode agrupar usuários em grupos para facilitar a gerência e o controle. No POSIX, apenas um grupo pode ser atribuído às permissões de acesso a um objeto comum.
  • Todos (Everyone): neste caso, serão todos os outros usuários do sistema, exceto o proprietário e usuários que pertencem ao grupo.

Você pode usar o Finder para visualizar e modificar as permissões POSIX. Dê um Ctrl + clique sobre o objeto (arquivo ou diretório) e escolha obter informações (Get Info), ou, também selecionando o objeto e pressionando o atalho de teclado Command + I. Abra a guia compartilhamento e permissões (Sharing & Permissions) para exibir as permissões do objeto. Você pode visualizar a permissões também através do comando: ls -lah caminho; modificar o proprietário de um objeto: chown proprietário:grupo caminho; ou modificar as permissões de um objeto: chmod u+x caminho.

Onde:

QuemAçãoPermissão
u (proprietário)
g (grupo)
o (outros)
a (proprietário/grupo/outros)
+ (adiciona permissão)
– (remove permissão)
= (define permissão)
r (leitura)
w (gravação)
x (execução)
t (sticky bit)

Permissões ACL

Considerando que o POSIX permite apenas um único proprietário e único grupo por objeto (arquivo ou diretório), para uma maior flexibilidade na configuração e gerenciamento de permissões, o OS X implementa o método de permissionamento ACLs. Uma ACL é formada por uma lista ordenada de regras chamadas ACEs. Cada ACE contém os seguintes componentes:

  • Usuário: proprietário, grupo e outros.
  • Ação: leitura, gravação e execução.
  • Permissão: permitir ou negar uma ação.

As regras ACEs especificam permissões que concedem ou negam direitos a um grupo ou usuário. ACLs no OS X permitem que você configure permissões para vários usuários e grupos no mesmo objeto (arquivo ou diretório). Isto torna mais fácil a criação de ambientes colaborativos, sem comprometer a segurança.

Através do Finder, ao adicionar um novo usuário ou grupo a um objeto, o OS X cria esta nova entrada através do método de permissionamento ACL. Permissões ACLs no Finder são limitadas, entretanto você pode utilizar a linha de comando para criar ACEs específicas:

Publicidade

Visualizar as ACEs: ls -le caminho; modificar as permissões ACLs: chmod +a "regra ace" caminho; e apagar todas as permissões ACLs: chmod -RN caminho

POSIX - ACL

Permissões ACL possuem precedência sobre permissões POSIX, assim, se não existe uma ACE correspondente com a ação solicitada, o sistema considera o POSIX. Caso exista uma ACE, ele continua lendo as regras em busca de alguma que case com a ação solicitada. Tanto em ACL quanto em POSIX, usuários possuem maior precedência sobre grupos. A tabela abaixo exemplifica esta condição apresentada:

Se houver uma ACL:Se não corresponde a nenhuma ACE:
  1. Comece a leitura pela primeira ACE da lista.
  2. Mova através das ACEs da lista.
  3. Pare na ACE que corresponda ao usuário e que se aplique com a operação solicitada.
  4. Aplique a permissão.
  5. Pare a procura.
  • Aplique as permissões POSIX.
  • Permissões de proprietário substituem as permissões de grupo.
  • Permissões de grupo substituem as permissões dos outros.
  • Qualquer ACE que corresponda substitui as permissões POSIX.

Ver comentários do post

Compartilhe este artigo
URL compartilhável
Post Ant.

↪ Apple libera pequena atualização para usuários do Mac OS X 10.6.8

Próx. Post

Que tal comprar um iPhone 4S e receber uma pedra em vez do aparelho?

Posts Relacionados