Como gerenciar permissões no Linux

Nesse artigo pretendo desmistificar e esclarecer de forma bem didática e usando um vocabulário simples, o funcionamento do gerenciamento das permissões no mundo Linux. Esse texto tem como público alvo os administradores Linux e até mesmo aqueles que estão tendo seu primeiro contato com esse maravilhoso mundo. Acredito que muitas dúvidas serão tiradas ao longo desse artigo.

[ Hits: 70.815 ]

Por: Armando Martins de Souza em 10/05/2010


Introdução



Permissões de acesso

O GNU/Linux, como todo sistema operacional robusto e estável, tem na permissão de acesso a arquivos e diretórios a principal proteção do sistema de arquivos. Essas permissões impedem o acesso indevido de programas e usuários a lugares não autorizados.

Vamos mostrar como identificamos o tipo de arquivo, quem é o seu dono, a que grupo ele pertence, os tipos de permissão de arquivos/diretórios, permissões especiais, os comandos de manipulação de permissões e por fim falaremos dos comandos que usamos para mudar a propriedade e grupo de arquivos/diretórios.

Tipo de arquivo

São definidos 7 tipos de arquivos no Linux. Mesmo havendo a inclusão de algo novo no sistema de arquivos, ele ainda deve ser incluso de forma a se enquadrar em um desses tipos.

Antes de iniciarmos, vamos criar um diretório base para nossos testes/exemplos. Daremos o nome de "Documentos" a este diretório e dentro dele iremos criar um outro diretório de nome "Documentos", além de um arquivo chamado "bugiganga.txt".

# mkdir /documentos
# chmod 777 /documentos
# cd /documentos/
# mkdir Documentos
# ls -l

drwxr-xr-x 2 root root 4096 2010-05-04 14:32 Documentos

# touch bugiganga.txt
# ls -l

-rw-r--r-- 1 root root    0 2010-05-04 14:33 bugiganga.txt
drwxr-xr-x 2 root root 4096 2010-05-04 14:32 Documentos

Agora vamos identificar o tipo de arquivo estamos trabalhando. De acordo com saída do comando "ls -l" temos:

# ls -l
-rw-r--r-- 1 root root    0 2010-05-04 14:33 bugiganga.txt
drwxr-xr-x 2 root root 4096 2010-05-04 14:32 Documentos

Da esquerda para direita temos uma sequência de 10 bits (caracteres). Nesse primeiro momento iremos nos ater apenas ao bit mais significativo, que é o primeiro bit da esquerda para direita. Ele equivale ao "tipo" de arquivo que estamos trabalhando.

Na saída de nosso exemplo, iremos destacar apenas os 10 bits, de 1 de tipo e 9 de permissão, e daremos uma atenção especial ao bit de "tipo", com isso teremos condição de compreender melhor e saber como identificar cada um dos 7 tipos de arquivos Linux.
Segue abaixo tabela indicativa de tipos de arquivos:
Agora iremos comentar sobre cada um dos 7 "tipos" de arquivos Linux.
  • Arquivo regular - São arquivos texto, arquivos de dados, executáveis, bibliotecas etc.
  • Diretórios - São arquivos que possuem referências com nomes para outros arquivos.
  • Arquivos de dispositivos de caracteres e de dispositivos de blocos - São os arquivos utilizados por programas, que permitem a comunicação com o hardware e periféricos do sistema.
  • Sockets Local - Comunicação entre processos. Exemplo: sistema de impressão e o syslog.
  • Pipes - Assim como os sockets, os pipes também permitem a comunicação entre dois processos executados no mesmo host.
  • Links simbólicos - Também conhecidos como soft link é basicamente um arquivo que aponta para outro arquivo, podemos enxergar de forma mais clara se pensarmos nele como sendo um atalho.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Conjunto de permissões
   3. Permissões de acesso
   4. Manipulando as permissões
Outros artigos deste autor

Como gerenciar usuários e grupos

Desvendando as regras de Firewall Linux Iptables

Leitura recomendada

Gnu/Linux em 30mb e 2 arquivos

Gerenciamento de pacotes Debian - principais comandos LPIC-1

Linus Benedict Torvalds

Compilação Kernel Linux no Slackware

Fedora 21 - Configuração pós-instalação

  
Comentários
[1] Comentário enviado por nicolo em 11/05/2010 - 10:44h

Sugiro o comando
sudo nautilus --browser
Botão direito do mouse na pasta ou arquivo
Escolha propriedades e permissões.
Pode mudar o que quiser sem saber letra nenhuma.- Muito melhor que o Windows.

[2] Comentário enviado por dastyler em 11/05/2010 - 11:53h

nicolo,

E se vc estiver usando um server sem interface gráfica? Como seria? :-P

hehehehe:D:D:D

[]´s

[3] Comentário enviado por amsouza em 11/05/2010 - 12:11h

Olá nicolo,
Em se tratando de interface gráfica você pode usar este recurso, contudo minha intenção é mostrar como você gerencia as permissões tanto na interface texto, quanto na gráfica.

É mostrar como o gerenciamento de permissões é feito, entendeu?

E dastyler, muito obrigado pela colocação.

Abraços,

Armando

[4] Comentário enviado por maran em 11/05/2010 - 14:54h

Muito bom o artigo,
mais achei que teria mais didatica, não que não tinha apenas, mais exercicios ou exemplos,
afinal se propos a tirar todas as duvidas, no indice do artigo e achei que ficou um pouco, vago esta parte:

Caso alguem tambem queira outras fontes segue um artigo que fiz do genero:

http://www.vivaolinux.com.br/artigo/Leia-grave-e-execute/

Abraço e parabéns ao autor

[5] Comentário enviado por amsouza em 11/05/2010 - 16:11h

Olá maran,

Em primeiro lugar, obrigado pelo comentário! Agora gostaria de saber qual foi a parte que ficou vaga, pois no caso de eu ter deixado passar algo ou até mesmo expressado de forma vaga, tenho a possibilidade de ajustar.

Ahh... e muito bom seu artigo! =D

Abraços,

Armando

[6] Comentário enviado por murderb13 em 12/05/2010 - 13:02h

otimo artigo..

descreve detalhadamente oq estamos fazendo com as permissões...num fika só ensinando
chmod 777

parabéns autor.!

[7] Comentário enviado por amsouza em 12/05/2010 - 13:59h

Olá murderb13,

Obrigado pelo comentário.

Abraços

Armando

[8] Comentário enviado por heepz em 18/02/2011 - 13:04h

Uma dúvida quando aparece drwxr:

d indica que é diretório
r leitura
w escrita
x execução

e o último "r" é o que ????

[9] Comentário enviado por amsouza em 18/02/2011 - 13:36h

Olá heepz,

Vamos lá.... quando executamos o comando ls -l, e olharmos da esqueda para a direita, veremos uma seguencia inicial de 10 bits, que significam:

bit 1 --> tipo de arquivo (se é um diretório, link simbólico, arquivo regular etc)
do bit 2 ao 4 --> permissão do usuário dono dos arquivo/direitorio
do bit 5 ao 7 --> são as permissões do grupo a que pertence o arquivo/direitório
do bit 8 ao 10 --> são as permissões conhecidas como os outros, isto é, se não for dono ou pertencer ao grupo dono do arquivo ou diretório as permissões que incidirão serão as desse conjunto de bits.

Então, respondendo sua pergunta... você apresentou 5bits "drwxr"

d --> bit de tipo
rwx --> bits referentes ao dono do arquivo/diretório
r --> bit de leitura do grupo dono do arquivo/diretório.

provavelmente você tem ainda na sequencia aos valores de wx do conjunto de permissões de grupo e rwx dos outros. O que pode estar acontecendo é que o arquivo/diretório não tenha essas permissões e no lugar de rwx, apareça apenas --- (ausência de permissões).

Espero ter ajudado e fico a disposição para quaisquer esclarecimentos,

Abrs,

Armando



[10] Comentário enviado por iagorafael em 28/02/2013 - 17:45h

poderia dar um exemplo criando um usuário??

[11] Comentário enviado por amsouza em 01/03/2013 - 11:55h

Olá iagorafael,

Quando criamos um usuário é importante ter em mente que as permissões que cada arquivo / diretório criado, tem como base a "umask". Isso significa que as permissões no momento da criação do arquivo / diretório, fica completamente transparente ao administrador.

Não sei se entendi corretamente sua pergunta, mas de qualquer forma me informe e detalhe se sua dúvida persistir, abs,

Armando

[12] Comentário enviado por noitso em 24/02/2015 - 16:19h

Muito bom, realmente da para leigos entenderem.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts