Permissões em sistemas operacionais Unix Link para o cabeçalho
Bem, vamos falar sobre permissões em arquivos no Unix, de forma resumida temos três permissões associadas a um arquivo, a primeira é a de leitura (reader r), a segunda é a de escrita (writer w) a terceira e ultima é referente a executar o arquivo (execute x), além das três permissões existem também os três escopos ou classes onde as permissões são aplicadas, então as permissões podem ser distintas, o primeiro escopo de permissões são do proprietário, o segundo escopo é referente ao grupo que o arquivo pertence, e por fim o ultimo escopo se aplica a qualquer usuário que não se enquadre nos 2 primeiros escopos.
Ficou confuso?, bora lá que vamos debulhar com exemplos.
Primeiro, vamos considerar que estamos logados em um sistema operacional baseado no Unix, com usuário fulano, e ele pertence ao grupo xpto, ok.
Acessando a pasta do usuário, digito o comando para listar arquivos e diretórios: ls (list) com parâmetro l (long list)
$ fulano@xpto:~/ $ ls -l
drwxr-xr-x 3 fulano xpto 4096 May 28 22:15 teste_pasta
-rw-r--r-- 1 fulano xpto 0 Jun 11 21:26 teste_arquivo.txt
Os 10 primeiros caracteres são uma sequência de d, r, w, x e -. Onde o primeiro representa geralmente se é um arquivo ou diretório. A representação do arquivo é - e para representar um diretório é d.
Na tabela abaixo outros tipos,
| Caractere | Tipo |
|---|---|
| b | arquivo de bloco |
| b | arquivo de bloco |
| c | arquivo especial de caractere |
| p | canal |
| s | socket |
Bem, agora vamos para os outros 9 dígitos restantes (rwxr-xr-x exemplo do teste_pasta), em seguida separamos os 9 dígitos em 3 grupos que representam as classes que falamos acima.
Olhando para o arquivo, teste_pasta
drwxr-xr-x 3 fulano xpto 4096 May 28 22:15 teste_pasta
| | |
| | | -> Permissão para qualquer usuário do sistema operacional.
| |-> Permissão para os usuários do grupo xpto.
|-> Permissão do proprietário fulano.
Pera um pouco, acima eu chamei o diretório de arquivo, não é um erro do tradutor, em resumo praticamente tudo é um arquivo no Unix.
No Linux e Unix tudo é um arquivo. Diretórios são arquivos, arquivos são arquivos, e dispositivos são arquivos. Dispositivos são geralmente referidos por nódulos; entretanto, eles ainda são arquivos. — Site Ubuntu, Help1
Então o proprietário que é o dono, tem as três permissões sobre a pasta, r = leitura, w = escrita e x = executar, já os usuários do grupo tem permissão de r = leitura e x = executar, e por fim, qualquer outro usuário também tem a permissão de r = leitura e x = executar.
Por fim, deixo a você caro leito, uma questão para você praticar e validar o conhecimento adquirido aqui nesse artigo. Imagine que existe um segundo usuário no sistema operacional onde listei os arquivos, o usuário sicrano, o mesmo não pertence ao grupo xpto, qual a permissão que ele teria sobre o arquivo teste_arquivo.txt ?
-rw-r--r-- 1 fulano xpto 0 Jun 11 21:26 teste_arquivo.txt
| | |
| | | -> Permissão para qualquer usuário do sistema operacional.
| |-> Permissão para os usuários do grupo xpto.
|-> Permissão do proprietário fulano.