segunda-feira, 22 de maio de 2023

Permissões em Directórios e Ficheiros em Linux - Forma Simbólica

Índice de conteúdo:

  1. O que é isso de permissões de arquivos em Linux?
  2. Modo simbólico de representar permissões
  3. Como alterar permissões

O que é isso de permissões de arquivos em Linux?

As permissões de arquivos é algo muito importante nos sistemas Linux pois determinam quem pode ou não ter acesso a um determinado ficheiro ou diretório no sistema e quais as permissões concedidas como sendo editar, visualizar e executar.

As permissões de arquivos em Linux são fundamentais para a segurança do sistema e privacidade do utilizador, pois ajuda a proteger arquivos contra acesso ou modificação não autorizado.

Estas permissões têm grande importância no sentido em que cada tipo de ficheiro ou pasta tem consoante sendo do sistema ou do utilizador permissões que apenas permitem ser manipuladas ou alteradas pelo dono/possuidor do arquivo.

Neste laboratório vamos falar de permissões de pastas e ficheiros, exemplificando passo a passo como funcionam e como alterá-las consoante as nossas necessidades.

Modo simbólico de representar permissões

As permissões dizem-se em modo simbólica quando usuários e permissões são representados por letras (u, g, o para usuários e r, w, x para permissões)

Cada permissão pode ser controlada em três níveis de utilizadores:

  • u (user = utilizador): Este é o dono do ficheiro.
  • g (group = grupo): Grupo de trabalho, por exemplo.
  • o (others = outros): Qualquer outro utilizador no sistema.

Existem três tipos de permissões de arquivo no Linux

  • r (read = ler): Permite visualizar um ficheiro.
  • w (write = escrever): Permite escrever ou modificar e até apagar um ficheiro ou diretório.
  • x (execute = executar): Dá permissão de executar um programa ou visualizar um diretório.

Vamos explorar isto na prática para vermos como funciona.

Aqui, estando dentro da pasta Aniversarios (estou usando como exemplo pastas criadas num post anterior: Criar diretórios em terminal Linux do simples ao complexo) e correndo o comando $ ls, o que vemos com este comando é uma lista do conteúdo dentro da pasta Aniversarios sem nenhuma outra informação adicional.

Para obtermos mais informações sobre o conteúdo temos de usar a opção -l junto ao comando ls e correndo o comando $ ls -l, vemos a lista das pastas: Amigos, Filhos, Pais, Trabalho e um ficheiro .txt de nome aniversarios com as respectivas metadados que trazem muitas informações sobre o ficheiro ou diretório e nessas informações temos as seguintes permissões concedidas:

Se pegarmos da imagem acima vemos o seguinte:

  • No diretório Amigos
    • O usuário (u) que é o dono, tem as permissões de visualizar, alterar e executar: rwx
    • O grupo (g) que são os usuários que o dono adicionou ao seu grupo, tem as permissões de visualizar e executar: rx
    • Outros (o) usuários do sistema têm a permissão de visualizar e executar: rx
  • No ficheiro aniversarios.txt
    • O usuário (u) que é o dono, tem as permissões de visualizar e alterar: rw
    • O grupo (g) que são os usuários que o dono adicionou ao seu grupo, só tem a permissão de visualizar: r
    • Outros (o) usuários do sistema têm unicamente a permissão de visualizar: r

A existência do x (executar) nas permissões de um diretório permite-nos fazer cd (change directory) e entrar no diretório.

Como alterar permissões

Para alterar permissões usamos o comando chmod (change file mode). Se quiseres saber mais sobre este comando é só ler o manual do mesmo usando o comando man chmod

Para remover permissões:

  • $ chmod a-r nome-do-ficheiro, remove a permissão de visualização para todos (a = all). O oposto seria a+r
  • $ chmod a-w nome-do-ficheiro, remove a permissão de alteração para todos (a = all). O oposto seria a+w
  • $ chmod g-r nome-do-ficheiro, remove a permissão de visualização para o grupo. O oposto seria g+r
  • $ chmod g-w nome-do-ficheiro, remove a permissão de alteração para o grupo. O oposto seria g+w
  • $ chmod g-x nome-do-ficheiro, remove a permissão de executar para o grupo. O oposto seria g+x
  • $ chmod g-rwx nome-do-ficheiro, pode remover todas as permissões para o grupo no ficheiro em questão. O oposto seria g+rwx.
  • $ chmod ug+rwx nome-do-ficheiro, adiciona as permissões de visualizar, modificar e executar ao usuário e ao grupo. O oposto seria ug-rwx.
  • $ chmod a+rwx nome-do-ficheiro, adiciona as permissões de visualizar, modificar e executar a todos os usuários do sistema. O oposto seria a-rwx.

Vamos alterar as permissões no ficheiro aniversarios.txt e vamos retirar a permissão de visualização para todos os outros (o) utilizadores do sistema.

chmod o-r aniversarios.txt

Agora vamos alterar as permissões no ficheiro aniversarios.txt e vamos retirar a permissão de visualização para o grupo (g).

chmod g-r aniversarios.txt

Agora vamos alterar as permissões nos diretórios Filhos e Pais e vamos retirar a permissão de visualização para o grupo (g).

chmod g-r Filhos/ Pais/

Agora vamos alterar as permissões no diretório Filhos e vamos retirar a permissão de visualização para o grupo (g).

chmod g-r Filhos/

Agora vamos alterar as permissões nos diretórios Filhos e Pais e vamos retirar a permissão de executar para o grupo (g).

chmod g-x Filhos/ Pais/

Neste post falamos sobre permissões simbólicas, para breve falaremos de permissões numéricas. Espero que este post tenha servido de alguma utilidade para o entendimento das permissões. Obrigado por cá estares.

Votar para o início

Sem comentários:

Enviar um comentário