Você está na página 1de 3

Permissões Linux

Os sistemas baseados em Unix não são apenas multitarefa, mas também


multiusuários. Isso significa que o Linux, além de poder executar muitos programas e
serviços simultaneamente, também permite que mais de um usuário use o SO – ao
mesmo tempo, inclusive – sem maiores confusões.

Caso o seu computador com Linux esteja conectado a uma rede de computadores, por
exemplo, é possível que mais de uma pessoa faça uso dele simultaneamente,
chegando ao ponto, inclusive, de executar aplicações gráficas de maneira remota.

E um dos conceitos essenciais para que esse tipo de recurso funcione bem é o de
permissão de arquivos, que protege os usuários uns dos outros. Dessa forma, o Linux
estipula regras e possui comandos capazes de definir quem pode acessar determinado
arquivo ou pasta e a que momento. Afinal, você não vai querer que alguém desligue o
sistema que você está usando ou apague aquele arquivo importante sem o seu
consentimento, certo?

Entendendo as Permissões

O comand ls -l exibe detalhes dos arquivos listados, como a data de criação e o


tamanho de cada um. Porém, você deve ter reparado que, logo no início da linha de
cada item, e também há uma sequência de caracteres. Essa sequência de d, r, w, x ou -
descreve, na verdade, as permissões do arquivo em questão.

No emulador de Linux online que estamos utilizando, digite o seguinte comando:

ls -l hello.c

Esse comando vai mostrar as permissões do arquivo hello.c. Na saída desse comando,
podemos ver que o arquivo "hello.c" possui como permissão a sequência -rw-r--r--,
seguida das palavras "root" (dono do arquivo) e "root" (grupo a que pertence o
arquivo). Mas o que isso significa?

Para facilitar, vamos destrinchar cada um dos elementos dessa sequência. Primeiro, o
significado de cada caractere:

r: leitura permitida do arquivo ou diretório


w: permite editar um arquivo ou modificar o conteúdo de um diretório
x: permite executar um arquivo ou acessar um diretório pelo comando cd

hífen: o caractere "-" no início da sequência indica que aquele é um arquivo comum.
Caso contrário, indica que a permissão de escrita, leitura ou execução está negada.

d: se a letra aparecer no início da sequência, indica que aquele item é um diretório


Também é preciso entender que a permissão de arquivos e pastas está dividida em
quatro partes:

- | rw- | r-- | r--

A primeira parte é composta pelo primeiro caractere e descreve se é um arquivo


regular (-) ou um diretório (d). No caso do exemplo acima, por ser um arquivo comum
de texto, há um hífen.

Já a segunda parte é composta pelos próximos três caracteres: eles indicam a


permissão do dono do arquivo, ou seja, do usuário que o criou ou que possui a autoria
dele. No exemplo acima, a permissão é rw-, ou seja, o usuário "root" pode ler (r) e
modificar (w) o arquivo, mas não executá-lo (-). Por ser um documento de texto, a
permissão de executável (x), não está habilitada.

Já os outros seis caracteres formam as outras duas partes da permissão do arquivo,


cada uma com três caracteres. A primeira diz respeito ao grupo em que o usuário se
encontra. No Linux, podemos criar, por exemplo, um grupo para todos os membros do
grupo root e estabelecer que um arquivo pode ser acessado e lido por todos os
membros daquele grupo, mas editado apenas por quem o criou. Na imagem acima,
percebemos que os usuários desse grupo podem apenas ler (r--) o arquivo.

Já os últimos três caracteres indicam as permissões para outros usuários do sistema,


aqueles que não fazem parte do grupo do arquivo. No caso do nosso exemplo, eles
possuem as mesmas permissões de somente leitura (r--).

Alterando permissões

As permissões de arquivos e diretórios podem ser alteradas com o comando chmod. E


depois de aprender como interpretar as permissões, fica mais fácil usá-lo, já que esse
comando trabalhará com uma sintaxe semelhante.

Para isso, você precisa pensar na regra de permissão como se fosse uma sequência de
bits. A permissão rwx, por exemplo, equivaleria a 111, enquanto rw- se transformaria
em 110. Resumindo: 1 para letra, 0 para hífen. Assim, ao converter esses números de
base binária para decimal, 111 viraria 7, enquanto 110 se tornaria 6.

Seguindo essa lógica, se você quisesse fornecer as permissões de leitura, escrita e


execução para todos os usuários do sistema, poderia digitar a seguinte linha:

chmod 777 hello.c

Se preferir manter a opção de executar o arquivo apenas para o dono e grupo dele,
então a linha muda para:

chmod 776 hello.c


Para facilitar e não ter que converter de cabeça todos esses números, existe uma
pequena tabela que pode ser consultada sempre que necessário:

Permissão Binário 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

Exercícios

Você também pode gostar