As permissões em sistemas semelhantes ao Unix são gerenciadas em três classes distintas. Essas classes são conhecidas como usuário, grupo e outras.
Classes
Arquivos e diretórios são de propriedade de um usuário. O proprietário determina a classe do proprietário do arquivo. Permissões distintas se aplicam ao proprietário.
Arquivos e diretórios são atribuídos a um grupo, que define a classe de grupo do arquivo. Permissões distintas se aplicam a membros dos membros do grupo do arquivo. O proprietário não precisa ser membro do grupo do arquivo.
Os usuários que não são proprietários nem membros do grupo compõem a classe de outros arquivos. Permissões distintas se aplicam a outras pessoas.
As permissões efetivas são determinadas com base na classe do usuário. Por exemplo, o usuário que é o proprietário do arquivo terá as permissões dadas à classe proprietária, independentemente das permissões atribuídas à classe do grupo ou a outras classes.
Permissões
Existem três permissões específicas em sistemas semelhantes ao Unix que se aplicam a cada classe:
-
A permissão de leitura, que concede o capacidade de ler um arquivo. Quando definido para um diretório, essa permissão concede a capacidade de ler os nomes de arquivos no diretório (mas não para descubra qualquer informação adicional sobre eles, como conteúdo, arquivo tipo, tamanho, propriedade, permissões, etc)
-
A permissão de gravação, que concede a capacidade de modificar um arquivo. Quando definido para um diretório, essa permissão concede a capacidade de modificar entradas no diretório. Isso inclui criar arquivos, excluir arquivos e renomeando arquivos.
-
A permissão de execução, que concede a capacidade de executar um arquivo. este permissão deve ser definida para executável binários (por exemplo, um c ++ compilado programa) ou shell scripts (para exemplo, um programa Perl) para permitir que o sistema operacional seja executado eles. Quando definido para um diretório, permissão concede a capacidade de atravessar a árvore para acessar arquivos ou subdiretórios, mas não ver arquivos dentro do diretório (a menos que read está definido).
O efeito de definir as permissões em um diretório (em vez de em um arquivo) é "um dos problemas de permissão de arquivo mais frequentemente incompreendidos".
Quando uma permissão não está definida, os direitos que ela concederia são negados. Os arquivos criados dentro de um diretório não terão necessariamente as mesmas permissões que esse diretório. As permissões a serem atribuídas são determinadas usando aks.
Notação Octal
A notação octal consiste em um valor base-8 de três ou quatro dígitos.
Com a notação octal de três dígitos, cada numeral representa um componente diferente do conjunto de permissões: classe de usuário, classe de grupo e "outros", respectivamente.
Cada um desses dígitos é a soma de seus bits componentes (veja também Sistema numérico binário). Como resultado, bits específicos adicionam à soma como é representada por um numeral:
-
O bit de leitura adiciona 4 ao seu total (em binário 100),
-
O bit de gravação adiciona 2 ao seu total (em binário 010) e
-
O bit de execução adiciona 1 ao total (no binário 001).
Esses valores nunca produzem combinações ambíguas; cada soma representa um conjunto específico de permissões.
Aqui está um resumo dos significados para valores de dígito octal individuais:
0 --- no permission
1 --x execute
2 -w- write
3 -wx write and execute
4 r-- read
5 r-x read and execute
6 rw- read and write
7 rwx read, write and execute
Observe também que seu arquivo pode ser de propriedade do usuário foo
, o Apache geralmente é executado como um usuário diferente (vamos chamá-lo de bar
). Isso significa que, se você quiser que o Apache o leia, é necessário conceder à permissão group
ou other
(dependendo da configuração) para ler o arquivo.
Você pode encontrar mais informações sobre as permissões do POSIX Filesystem em Wikipedia .