Em um sistema de arquivos POSIX, cada arquivo tem um usuário (o proprietário do arquivo), um grupo e permissões para o usuário, o grupo e todos os outros.
Para cada usuário, o acesso a um determinado arquivo é determinado da seguinte forma:
- se o usuário for o proprietário do arquivo, as permissões do proprietário serão aplicadas;
- se o usuário for um membro do grupo do arquivo, as permissões do grupo serão aplicadas;
- em todos os outros casos, as outras permissões são aplicadas.
A ordem aqui é significativa; assim você pode ter um arquivo que pertence a você, com permissões 0077
(tudo para o grupo e outros, nada para o dono), e você não terá acesso a ele! Mas como você é o proprietário, pode alterar isso com chmod
. Isso pode ser útil em alguns casos em que você deseja negar o acesso a um grupo específico e permitir o acesso de qualquer outra pessoa (pense em um grupo students
em um contexto acadêmico).
Estritamente falando, as permissões não são compatíveis com o usuário final, mas com o usuário efetivo de um processo, que pode ser diferente ( por exemplo, para binários de set-uid). Também pode haver outros fatores afetando grupos, por exemplo, em montagens NFS.
As permissões podem ser definidas com chmod
(consulte Entendimento As permissões do UNIX e seus atributos para detalhes, e uma opção é usar a letra mencionada: u
para as permissões de usuário, g
para as permissões de grupo e o
para outras permissões. Usar a
com chmod
aplica as permissões a todas as três categorias.
Nos sistemas modernos, outras permissões de acesso podem ser aplicadas sobre ou em vez dessas permissões; procure ACLs ( setfacl
), SELinux etc.