Por:e-neves

Todo sistema baseado em UNIX trabalha com sistema de permissões. Para sistemas operacionais Linux, tudo é arquivo ou diretório. 

O conjunto de permissões, combinadas ou não, são utilizadas para determinado usuário obter algum tipo de acesso a eles. Lembrando sempre que somente o dono do arquivo ou o usuário Root poderão realizar as alterações referente à permissão 







O comando mais comum utilizado para alterar  permissões, seja em arquivos, seja em um diretório é o Chmod.





O Chmod apresenta a seguinte sintaxe:
Chmod  (permissões)  (arquivo)







O sistema de permissões são basicamente atribuídos a três categorias:

  • Usuário ou dono do arquivo ou diretório;
  • Grupo o qual o arquivo pertence;
  • Demais usuarios do sistema.



Para cada uma dessas categorias, podemos definir o tipo de permissão: Leitura, Escrita e execução do arquivo ou diretório. E para definir o tipo de permissão, podemos utilizar basicamente dois formatos:




Octal

As permissões são informadas por valores octais e cada categoria de permissão é definida por um dígito octal:


0:  Nenhuma Permissão

1:  Permissão Para Execução

2:  Permissão para Escrita

4:  Permissão para Leitura


Eles podem ser combinados, ou seja, podem ser somados para obter a permissão desejada. Por exemplo, se desejamos permitir para um determinado arquivo apenas leitura e gravação, utilizamos o valor 6, para permissão total 7.

No Octal cada dígito define as permissões para uma categoria. Como são três no total, devomos utilizar três dígitos octais para definir o tipo de permissão a ser concedida.


Exempo:

#Chmod 777 teste - permissão total







Modo Simbólico (textual)

Nesse sistema, é informado por meio de símbolos o tipo de permissão a ser concedida, mais flexível que o octal, porém mais complicado.





O padrão é:  [ugoa] [+-=] [rwx] [,...]


Sendo:


u:    Usuário dono do arquivo/diretório;

g:    Grupo ao qual o arquivo pertence;

o:    Outros usuários do Sistema

a:    Todos;

+     (mais) Adiciona Permissões;

-      (menos) Remove Permissões;

=     Define as permissões (substitui);

r:     Leitura

w:    Escrita

x:     Execução


Esse sistema de permissões, assim como no octal, também podem ser utilizadas combinações para definir o tipo de permissão a se aplicada em determinado arquivo:



Exemplo:


Permissão do arquivo Comando chmod aplicado Nova permissão Significado
rw-r--r-- chmod a+x arq1 rwx-r-xr-x Permissão de execução adicionada a todos
rw-r--r-- chmod g=u arq1 rw-rw-r-- Permissão do grupo configurada igual à do proprietário.
r--r--r-- chmod ug=rw arq1 rw-rw-r-- Permissões do proprietário e do grupo ajustadas em leitura e escrita.
rw------- chmod u+x,g=rx arq1 rwxr-x--- Permissão de execução adicionada ao proprietário, e leitura e execução ajustadas ao grupo.
rwxrw-rw- chmod o-w arq1 rwxrw-r-- Permissão de gravação retirada dos outros.
r--r--r-- chmod a+wx arq1 rwxrwxrwx Permissões de gravação e execução adicionadas a todos
           Fonte: planetaunix.com.br



Esse sistema de permissões simbólicas (textuais), são úteis quando nossa intenção é realizar uma simples alteração, como por exemplo adicionar ou retirar uma permissão qualquer.

Porém, quando necessitamos ajustas as permissões em determinado arquivo, como por exemplo permissão de execução de algum programa, as Octais são mais úteis



Existem outros conceitos relacionados à permissões em sistemas UNIX. Nesse post, apenas apresentei conceitos de maneira mais simples, porém, sugiro que você leia principalmente o Guia Foca Linux que lhe oferecerá uma explanação bem completa do assunto.


Permissões no Linux



Referência: 

http://www.planetaunix.com.br/2014/08/permissoes-de-acesso-arquivos-e.html
Guia Foca Linux
Viva Linux



tags: permissão, linux,comandos, segurança