Hoje vamos abordar as permissões de arquivos no sistema opreracional linux, ferramenta importante para uma boa administração, espero que esse tutorial seja um ótimo guia. Até breve
É necessário dividir esse assunto em duas partes. Na primeira, conheceremos melhor o aspecto da permissão de um arquivo, em que ela se baseia, como checar as permissões de determinados objetos do sistema de arquivo e como as máscaras são formadas.
Na segunda, veremos os comandos fundamentais para alterar as permissões dos arquivos ou pastas (chmod, chown, chgrp, umask) e aspecto avançados sobre permissões.
Permissões são conjuntos de direitos que são aplicados a arquivos ou diretórios do sistema de arquivo. Elas garantem que um usuário que não se enquadre nas permissão atribuídas a um arquivo, não tenha acesso ao mesmo, ou não possa executá-lo, ou ainda alterá-lo.
Desta forma, pode-se garantir a integridade e/ou sigilosidade dos arquivos e pastas no sistema de arquivos.
Nos sistemas Linux, o modelo de permissão, funciona em três níveis independentes:
. Usuário;
. Grupo;
. Todos os outros usuários.
Para checarmos quais permissões um determinado arquivo ou diretório possuem, podemos usar o comando abaixo:
[fred@notebook tmp]$ ls -all
drwxrwxr-x 3 fred casa 4096 Fev 7 11:52 .
drwxr-xr-x 133 fred casa 8192 Fev 8 09:34 ..
-rw-rw-r-- 1 fred casa 49979 Fev 6 09:22 DSC07854.JPG
-rw-rw-r-- 1 fred casa 154913 Fev 7 11:52 DSC07855.JPG
O primeiro campo nos trás as permissões do arquivo (Destacamos acima).
O primeiro caractere -, especifica o tipo do arquivo, no caso destacado acima, ele é um arquivo regular. É bom frisar que o linux trata os diretórios com arquivos, logo, o modelo aplica-se igualmente a eles. Os tipos possíveis para esse campo são:
d - diretório
l - link
c - arquivo especial de caractere
b - arquivo de bloco
p – canal (fifo)
s - socket
- - arquivo normal
O resto do campo de permissão, é composto por três grupos de três caracteres, representando o usuário, o grupo e todos os outros, respectivamente.
Os valores possíveis para esses campos são:
r – Read (permissão de leitura);
w – Write (permissão de gravação/deleção);
x - Execution (permissão de execução);
- - Permissão desabilitada.
O terceiro e quarto campos, nos trazem o dono do arquivo (owner) e o grupo (group) a qual o arquivo faz parte.
Com isso, percebemos que o arquivo abaixo possui as seguintes permissões:
-rw-rw-r-- 1 fred casa 154913 Fev 7 11:52 DSC07855.JPG
- Ele é um arquivo regular
rw- O Dono possui permissão de leitura e escrita
rw- O Grupo possui permissão de leitura e escrita
r-- Todos os outros permissão apenas de leitura
fred O Dono do arquivo é o usuário fred
casa O grupo do arquivo é casa
Além da forma acima, podemos especificar as permissões de um arquivo, usando a forma binária e a forma decimal, conforme descrito abaixo:
Permissão | Binária | Decimal |
--- | 000 | 0 |
--x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r-- | 100 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
Poderíamos especificar a permissão do arquivo das seguintes maneiras:
rw-rw-r--
110110100
664 – Mais comum
Com isso, podemos criar o quadro abaixo contendo as permissões em forma decimal:
--------- | 000 |
r-------- | 400 |
r--r--r-- | 444 |
rw------- | 600 |
rw-r--r-- | 644 |
rw-rw-r-- | 666 |
rwx------ | 700 |
rwxr-x--- | 750 |
rwxr-xr-x | 755 |
rwxrwxrwx | 777 |
O conhecimento da tabela acima é fundamental ao administrador de sistemas. No dia a dia é muito comum se deparar com a necessidade de alterar as permissões de arquivos e pastas.
Fontes: http://imasters.uol.com.br