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:
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.
Para saber como alterar as permissões de acesso no Linux leia nosso artigo sobre o comando chmod.
Assista no vídeo abaixo a explicação sobre as permissões de acesso a arquivos no Linux:
Escreva um comentário