Pular para o conteúdo
Início » Aprendendo Linux Parte 3 – Permissões e Propriedades de Arquivos no Linux

Aprendendo Linux Parte 3 – Permissões e Propriedades de Arquivos no Linux

Entender as permissões e propriedades de arquivos no Linux é essencial para garantir a segurança e a funcionalidade adequada do sistema. Nesta aula, vamos explorar como o sistema de permissões funciona, como alterar permissões e propriedades, e como usar esses conceitos para proteger seus arquivos e diretórios.

Sistema de Permissões no Linux

No Linux, cada arquivo e diretório tem permissões associadas a três categorias de usuários: o proprietário, o grupo e outros (todos os demais usuários). Essas permissões determinam quem pode ler, escrever ou executar o arquivo/diretório.

Tipos de Permissões
  1. Leitura (r): Permite visualizar o conteúdo do arquivo ou listar o conteúdo do diretório.
  2. Escrita (w): Permite modificar o conteúdo do arquivo ou fazer alterações no diretório (criar, remover arquivos).
  3. Execução (x): Permite executar o arquivo como um programa ou acessar o diretório.
Representação das Permissões

As permissões são representadas por um conjunto de caracteres. Por exemplo, considere a saída do comando ls -l:

$ ls -l
-rw-r--r-- 1 usuario grupo 4096 mai 18 10:00 arquivo.txt

O conjunto de caracteres -rw-r--r-- pode ser dividido da seguinte forma:

  • O primeiro caractere indica o tipo de arquivo (- para arquivo regular, d para diretório).
  • Os próximos três caracteres (rw-) representam as permissões do proprietário.
  • Os três caracteres seguintes (r--) representam as permissões do grupo.
  • Os últimos três caracteres (r--) representam as permissões de outros.

Alterando Permissões com chmod

O comando chmod (change mode) é usado para alterar as permissões de arquivos e diretórios. Ele pode ser usado em dois modos: simbólico e numérico.

Modo Simbólico

No modo simbólico, você usa letras para representar as permissões:

  • u: Usuário (proprietário)
  • g: Grupo
  • o: Outros
  • a: Todos (usuário, grupo e outros)

Operadores:

  • +: Adiciona permissão
  • -: Remove permissão
  • =: Define permissão
$ chmod u+x script.sh
# Adiciona permissão de execução para o proprietário

$ chmod g-w arquivo.txt
# Remove permissão de escrita para o grupo

$ chmod o=r arquivo.txt
# Define permissão de leitura para outros
Modo Numérico

No modo numérico, você usa valores octais para representar as permissões:

  • 4: Leitura
  • 2: Escrita
  • 1: Execução

Os valores são somados para definir as permissões desejadas:

$ chmod 755 script.sh
# Define permissões rwxr-xr-x para script.sh

Propriedades de Arquivos com chown e chgrp

Além das permissões, cada arquivo e diretório tem um proprietário e um grupo associado. Os comandos chown e chgrp são usados para alterar essas propriedades.

Comando chown

O comando chown (change owner) altera o proprietário de um arquivo ou diretório. Você pode especificar o novo proprietário e, opcionalmente, o novo grupo.

$ sudo chown novo_usuario arquivo.txt
# Altera o proprietário de arquivo.txt para novo_usuario

$ sudo chown novo_usuario:novo_grupo arquivo.txt
# Altera o proprietário e o grupo de arquivo.txt
Comando chgrp

O comando chgrp (change group) altera o grupo de um arquivo ou diretório.

$ sudo chgrp novo_grupo arquivo.txt
# Altera o grupo de arquivo.txt para novo_grupo

Exemplos Práticos

Vamos ver alguns exemplos práticos de uso desses comandos para configurar permissões e propriedades de arquivos e diretórios.

Exemplo 1: Configurando Permissões de um Script

Imagine que você tem um script chamado backup.sh que precisa ser executado por todos os usuários, mas editado apenas pelo proprietário.

  1. Crie o arquivo:
$ touch backup.sh
  1. Defina as permissões:
$ chmod 755 backup.sh
  1. Verifique as permissões:
$ ls -l backup.sh
-rwxr-xr-x 1 usuario grupo 0 mai 18 10:00 backup.sh
Exemplo 2: Configurando um Diretório Compartilhado

Suponha que você deseja criar um diretório compartilhado onde todos os usuários do grupo projetos possam ler, escrever e executar arquivos.

  1. Crie o diretório:
$ sudo mkdir /projetos
  1. Altere o grupo:
$ sudo chown :projetos /projetos
  1. Defina as permissões:
$ sudo chmod 2775 /projetos

A permissão 2775 configura o “setgid” (bit de ID do grupo) no diretório, o que garante que novos arquivos e subdiretórios herdarão o grupo do diretório pai.

  1. Verifique as permissões:
$ ls -ld /projetos
drwxrwsr-x 2 root projetos 4096 mai 18 10:00 /projetos

Permissões Especiais

O Linux também possui permissões especiais que podem ser aplicadas a arquivos e diretórios: SUID, SGID e Sticky Bit.

SUID (Set User ID)

Quando aplicada a um arquivo executável, a permissão SUID (s) permite que o arquivo seja executado com as permissões do proprietário do arquivo, e não do usuário que o executa.

$ sudo chmod u+s arquivo_executavel
SGID (Set Group ID)

Quando aplicada a um diretório, a permissão SGID (s) garante que novos arquivos e subdiretórios herdem o grupo do diretório pai.

$ sudo chmod g+s diretorio
Sticky Bit

Quando aplicada a um diretório, a permissão Sticky Bit (t) impede que usuários comuns excluam ou renomeiem arquivos de outros usuários no diretório.

$ sudo chmod +t /diretorio_publico

Compreender e gerenciar permissões e propriedades de arquivos no Linux é crucial para a administração de sistemas e segurança. Nesta aula, vimos como usar chmod, chown e chgrp para configurar permissões e propriedades. Também exploramos permissões especiais que fornecem maior controle sobre arquivos e diretórios.

Pratique esses comandos no seu próprio sistema Linux para ganhar confiança e familiaridade. Se tiver dúvidas ou sugestões, deixe um comentário no blog NerdExpert.com.br. Na próxima aula, abordaremos o gerenciamento de processos no Linux.