Permissões em Linux: Guia Rápido e Prático

O Linux é um sistema operacional multitarefa e multiusuário. Isso significa que várias pessoas podem usar o mesmo sistema ao mesmo tempo, e por isso, é essencial controlar quem pode acessar o quê. Para isso, existem as permissões de arquivos e diretórios.

Entendendo as Permissões Básicas

Cada arquivo ou diretório em um sistema Linux possui três tipos de permissões:

  • Leitura (r): permite ver o conteúdo de um arquivo ou listar os arquivos de um diretório.
  • Escrita (w): permite modificar um arquivo ou adicionar/remover arquivos de um diretório.
  • Execução (x): permite executar um arquivo como programa/script ou acessar um diretório.

E essas permissões são atribuídas a três categorias de usuários:

  1. Dono (owner): quem criou o arquivo.
  2. Grupo (group): grupo de usuários com acesso.
  3. Outros (others): todos os outros usuários.

Visualizando Permissões

Para ver as permissões, usamos o comando:

ls -l

Exemplo de saída:

-rwxr-xr-- 1 joao desenvolvedores 1234 mai 30 10:00 script.sh

Aqui está como interpretar isso:

  • - → tipo (arquivo comum)
  • rwx → dono: pode ler, escrever e executar
  • r-x → grupo: pode ler e executar
  • r-- → outros: só podem ler

Modificando Permissões

Usamos o comando chmod para alterar permissões. Pode-se usar duas formas:

1. Forma simbólica:

chmod u+x script.sh

Adiciona permissão de execução para o usuário (owner).

2. Forma numérica:

chmod 755 script.sh

Cada permissão é representada por um número:

  • r = 4
  • w = 2
  • x = 1

Soma-se os valores conforme as permissões desejadas:

  • 7 = rwx
  • 5 = r-x
  • 4 = r–

Mudando o Dono ou Grupo

Para mudar o dono ou grupo, usamos os comandos:

chown novo_dono arquivo
chgrp novo_grupo arquivo

Permissões Especiais (Breve Explicação)

Além das permissões básicas, existem permissões especiais:

  • SUID (Set User ID): executa o arquivo com permissões do dono.
  • SGID (Set Group ID): em diretórios, novos arquivos herdam o grupo.
  • Sticky Bit: em diretórios como /tmp, só o dono pode deletar seus arquivos.

Um exemplo de uso do sticky bit:

chmod +t /meu_diretorio

Conclusão

As permissões no Linux garantem a segurança e organização do sistema, controlando quem pode fazer o quê. Com comandos simples como chmod, chown e ls -l, você já consegue gerenciar bem o acesso aos seus arquivos e diretórios.