terça-feira, 4 de março de 2025

Permissões em Linux: não use 777! Saiba porquê…

As distribuições Linux garantem a máxima segurança da informação! No entanto, é necessário que o utilizador domine alguns conceitos fundamentais para garantir essa segurança. Sabe definir corretamente permissões?

Permissões em Linux: não use 777! Saiba porquê...

No sistema de ficheiros utilizados no SO Linux existem atributos específicos para cada ficheiro/diretoria. Esses atributos, também conhecidos por “permissões, possibilitam ao SO controlar o acesso dos diferentes utilizadores aos ficheiros/diretorias.

Desta forma evita-se que um utilizador possa aceder a conteúdos aos quais não tem privilégios, por serem ficheiros de sistema ou ficheiros de um outro utilizador.

Permissões no Linux: User, Group e Other

As permissões em ficheiros e diretórios estão divididos em 3 patamares:

Para visualizarmos as permissões podemos utilizar o seguinte comando ls -l (ls — comando para listar diretórios e ficheiros e a opção “l” é para podermos visualizar detalhes).

Permissões em Linux: não use 777! Saiba porquê...

No exemplo, da imagem anterior, temos definidas as seguintes permissões:

  • ppinto.dat: permissões totais. Ou seja, leitura, escrita e execução para o dono, grupo e outros (777)
  • pplware.txt: Leitura e escrita para o dono, leitura para o grupo e leitura para os outros (644)
  • psimoes.doc: Leitura e escrita para o dono e leitura para o grupo (640)

Para alterar/atribuir permissões a um determinado ficheiro /diretório utilizamos o comando chmod ficheiro/Diretório. A atribuição de permissões pode ser realizada através do modo de máscara binária (também definido de modo octal) ou então através de um modo amigável (com letras).

Permissões: Modo máscara binária ou modo octal

A máscara binária é composta por três algarismos arábicos sob a base 8 ou seja de 0 a 7 (daí o nome de modo octal) onde:

  • O primeiro dígito representa o dono do ficheiro/diretório (u)
  • O segundo dígito representa o grupo (g)
  • O terceiro dígito representa os outros (o)

As permissões são especificadas para cada grupo. Os “pesos” atribuídos são:
Permissões em Linux: não use 777! Saiba porquê...

Ora somando os “pesos” temos: para o dono temos 4+2+1=7, relativamente ao grupo temos apenas 4 e o mesmo acontece para os outros. Então, a permissão a atribuir seria 744. Percebido? Numa primeira fase parece confuso, mas depois torna-se bastante simples de configurar.

Exemplos com o modo máscara binária

  • chmod 600 pplware> permissões ‘rw‐‐‐‐‐‐‐’
  • chmod 755 pplware> permissões ‘rwxr‐xr‐x’
  • chmod 777 pplware> permissões ‘rwxrwxrwx’

Modo: “amigável” (com letras)

Para a definição de permissões através do modo “amigável” é necessário recorrer a letras e mais alguns símbolos. Além do que já aprendemos, destaque para os operadores que nos permitem definir uma permissão (‘+’) ou remover uma permissão (‘-).

Exemplo do modo amigável.

Criem o ficheiro pplware através do comando touch, e depois experimentam mudar-lhe as permissões. Para ver as permissões do ficheiro podem usar o comando ls -l pplware

  • chmod u+rw pplware — define permissões ‘r/w’(leitura e escrita) ao dono do ficheiro
  • chmod o‐rwx pplware — retira todas as permissões aos “outros”
  • chmod a+rw pplware — dá permissões ‘r/w’ a todos (ugo)
  • chmod go‐r pplware — retira a permissão ‘r’(leitura) ao grupo e outros

Resumindo, no modo amigável usamos letras e na máscara binária usamos um conjunto de três dígitos. Como dica final deixo-vos o comando. Experimentem usar da seguinte forma: stat pplware e depois analisam a informação presente no campo Access.

Permissões em Linux: não use 777! Saiba porquê...

Como viram definir permissões em Linux não é assim muito difícil. Quem pretender pode também sempre recorrer à interface gráfica.

Esperamos que este tutorial vos seja útil e que pensem duas vezes quando pretenderem definir uma permissão 777.