Permissões de acesso a arquivos e pastas pelo Terminal no Linux

Permissões de acesso a arquivos e pastas pelo Terminal no Linux

Usamos um esquema de permissões no Linux para definir quem pode acessar arquivos e diretórios, e seu nível de acesso, que vai desde o acesso total até permissão totalmente negada.

Para estudarmos como funcionam as permissões de acesso a arquivos e pastas no Linux, vamos executar o comando ls -l em meu diretório padrão para ver primeiramente como o Linux exibe as permissões no terminal:

$ ls -l

Saída do comando ls -l:

drwxr-xr-x 2 fabio fabio 4096 Fev 12 11:51 Música

Nesta linha, as informações são organizadas em colunas, e cada coluna representa as informações como segue (da esquerda para a direita):

d = tipo do arquivo (é um diretório)
rwxr-xr-x = permissões de acesso ao arquivo
2 = núm. de links para o arquivo ("atalhos")
fabio = usuário proprietário do arquivo
fabio = grupo do arquivo
4096 = tamanho do arquivo em bytes
Fev = mês da última modificação
12 = dia da última modificação
11:51 = horário da última modificação
Música = nome do arquivo ou diretório

Quando um usuário cria um arquivo, esse usuário será o proprietário (owner) desse arquivo, e o arquivo será vinculado ao grupo padrão do usuário proprietário.

Os tipos de arquivos mais comuns são:

Caractere Tipo de arquivo
- Arquivo normal de dados, como texto, imagens, vídeos, programas executáveis, arquivos zipados, etc.
d Diretório. Os diretórios são arquivos também, porém contendo nomes de arquivos e ponteiros para inodes do disco.
l Link simbólico (symlink) - um arquivo que aponta para um outro arquivo ou diretório
p Pipe nomeado. Um pipe permite que dois programas em execução se comuniquem entre si, escreverndo e lendo dados no pipe.
s Socket. Um socket é parecido com um pipe nomeado, porém é usado em comunicações de rede.
b Dispositivo de bloco, o qual é um arquivo que corresponde a um dispositivo de hardware para o qual os dados são transferidos (e lidos) em blocos de bytes.
c Dispositivo de caractere, que é um arquivo que corresponde a um dispositivo de hardware para o qual os dados são transferidos (e lidos) em unidades de um byte.

Esquema de Permissões

No arquivo visto acima, o esquema de permissões é representado pela sequência de nove caracteres rwxr-xr-x

Essa sequência é dividida em três conjuntos de três caracteres, cada conjunto simbolizando um nível de permissão de acesso específico. Os três conjuntos são (da esquerda para a direita):

  • usuário proprietário
  • grupo do arquivo
  • outros (demais usuários e grupos)

Ou seja:

Permissões de acesso a arquivos no Linux

Permissões de acesso a diretórios no Linux

No exemplo acima, rwx simboliza a permissão do proprietário do arquivo (eu); r-x simboliza a permissão dos usuários que são membros do grupo do arquivo; r-x é a permissão dos outros - demais usuários.

Significado das permissões

As permissões possuem o seguinte significado:

  • r = Read (leitura)
  • w = Write (gravação)
  • x = eXecute (execução)
  • - = Sem permissão

As permissões são sempre aplicadas na mesma ordem, que é Leitura - Escrita - Execução (rwx). Assim:

  • rwx = permissão total (leitura, escrita e execução)
  • rw- = permissão de leitura e escrita (sem execução)
  • r-x = permissão de ler e executar (scripts e diretórios)
  • r-- = permissão somente-leitura
  • --- = permissão totalmente negada

Esses conjuntos de permissões são configurados para o proprietário do arquivo, grupo e outros, nessa ordem.

Também podemos atribuir valores numéricos às permissões pois alguns comandos usam esses valores numéricos para permitir o gerenciamento das permissões.

Os valores numéricos são os seguintes:

  • r = 4
  • w = 2
  • x = 1
  • - = 0

Esses valores são extraídos da tabela abaixo, que mostra os valores binários (bits) de cada permissão quando seus bits estão ativados:

r w x Permissão Valor Octal
0 0 0 Sem Permissão 0
0 0 1 Execução 1
0 1 0 Gravação 2
0 1 1 Gravação e Execução 3
1 0 0 Leitura 4
1 0 1 Leitura e Execução 5
1 1 0 Leitura e Gravação 6
1 1 1 Permissão Total 7

Esse esquema de atribuição de valores às permissões é chamado de Modo Octal (oito combinações possíveis, de 0 a 7), e empregado no comando chmod.

Por exemplo, atribuímos o valor 7 quando queremos dar permissão total, valor 4 para somente leitura, valor 3 para escrita e execução, e assim por diante. Cada número substitui um conjunto de três caracteres. Assim, podemos representar todas as permissões de um arquivo com apenas três números (um para proprietário, um para grupo e um para outros).

No exemplo de arquivo vista acima, a permissão completa rwxr-xr-x pode ser substituída pelos números 755 nos comandos.

Podemos mudar o proprietário e o grupo de um arquivo com os comandos chown e chgrp, respectivamente, os quais estudaremos nas próximas lições.

Assista no vídeo abaixo a explicação sobre as permissões de acesso a arquivos no Linux:

Sobre Fábio dos Reis (1250 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*