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.

  1. A citação acima foi extraída do site de help do Ubuntu. ↩︎