Entender Permissões de Ficheiros Unix com Calculadora Chmod

17 Jun 2026 1,299 words

Entender Permissões de Ficheiros Unix com Calculadora Chmod

As permissões de ficheiros Unix controlam quem pode ler, escrever e executar ficheiros e diretórios. Cada ficheiro e diretório num sistema Linux ou Unix tem um conjunto de bits de permissão que determinam o acesso para três categorias: o proprietário do ficheiro, o grupo e todos os outros. Compreender estas permissões é essencial para administração de sistemas, desenvolvimento web, DevOps e qualquer trabalho em servidores Linux.

Os Três Triplos de Permissão

As permissões estão organizadas em três grupos de três bits cada:

Proprietário  Grupo  Outros
 rwx    rwx    rwx

Cada triplo contém três permissões:

  • r — Leitura (4)
  • w — Escrita (2)
  • x — Execução (1)

Os valores entre parênteses são os pesos octais. Para calcular o modo octal, some os pesos das permissões ativadas para cada triplo.

rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 + 0 = 6
r-x = 4 + 0 + 1 = 5
r-- = 4 + 0 + 0 = 4
-wx = 0 + 2 + 1 = 3
-w- = 0 + 2 + 0 = 2
--x = 0 + 0 + 1 = 1
--- = 0 + 0 + 0 = 0

Modos Chmod Comuns

Octal Simbólico Proprietário Grupo Outros Uso Comum
777 rwxrwxrwx rwx rwx rwx Acesso total (inseguro, evitar)
755 rwxr-xr-x rwx r-x r-x Diretórios, scripts executáveis
750 rwxr-x--- rwx r-x --- Diretórios de equipa
700 rwx------ rwx --- --- Executáveis privados
644 rw-r--r-- rw- r-- r-- Ficheiros normais, assets web
640 rw-r----- rw- r--- --- Ficheiros legíveis pela equipa
600 rw------- rw- --- --- Ficheiros privados (chaves SSH)
400 r-------- r-- --- --- Configuração só de leitura

Permissões de Ficheiro vs Diretório

O bit de execução comporta-se de forma diferente para ficheiros e diretórios.

Permissão Num Ficheiro Num Diretório
r Ler conteúdo do ficheiro Listar conteúdo do diretório (ls)
w Modificar conteúdo do ficheiro Criar, renomear, apagar ficheiros dentro
x Executar ficheiro como programa Entrar no diretório (cd), aceder a ficheiros dentro

Esta distinção é crítica. Um diretório precisa de r e x para ser legível — r sozinho permite ver os nomes dos ficheiros, mas sem x não pode aceder a nenhum ficheiro dentro dele.

# Diretório com r mas sem x — pode listar mas não pode aceder
$ ls -la /exemplo
# (mostra nomes de ficheiros mas não pode fazer cd nem ler ficheiros)

# Diretório com r-x — acesso total de leitura
$ ls -la /exemplo
$ cat /exemplo/ficheiro.txt

Referência do Comando Chmod

Notação Octal

chmod 755 script.sh     # rwxr-xr-x
chmod 644 index.html    # rw-r--r--
chmod 600 id_rsa        # rw------- (chave privada SSH)
chmod 700 ~/.ssh         # rwx------ (diretório SSH)
chmod -R 755 public/    # Recursivo (aplicar a todos os ficheiros e subdiretórios)

Notação Simbólica

chmod u+x script.sh     # Adicionar execução para proprietário
chmod g+w ficheiro.txt      # Adicionar escrita para grupo
chmod o-r ficheiro.txt      # Remover leitura para outros
chmod a+rx script.sh    # Adicionar leitura+execução para todos (ugo)
chmod u=rwx,g=rx,o=    # Definir permissões exatas: rwxr-x---
chmod -R u=rwX,go=rX public/  # Recursivo, X = executar apenas para diretórios

O X maiúsculo no modo simbólico é especial: adiciona permissão de execução apenas se o destino for um diretório ou já tiver permissão de execução para algum utilizador. Isto é extremamente útil para operações recursivas.

# Definir todos os diretórios para 755 e todos os ficheiros para 644 recursivamente
find /caminho -type f -exec chmod 644 {} \;
find /caminho -type d -exec chmod 755 {} \;

# Ou usar o atalho X
chmod -R u=rwX,go=rX /caminho

Bits de Permissão Especiais

Além dos bits rwx básicos, o Unix suporta três permissões especiais.

Setuid (SUID) — u+s (4000)

Quando definido num executável, o processo é executado com os privilégios do proprietário do ficheiro, não do utilizador que o iniciou. Isto permite que utilizadores comuns executem comandos que requerem permissões elevadas.

chmod u+s /usr/bin/passwd
# -rwsr-xr-x (o s substitui x no triplo do proprietário)

Setgid (SGID) — g+s (2000)

Num ficheiro, o processo é executado com o grupo do ficheiro. Num diretório, novos ficheiros criados dentro herdam o grupo do diretório em vez do grupo primário do criador.

chmod g+s /diretorio/partilhado
# drwxrwsr-x (o s substitui x no triplo do grupo)

Sticky Bit — +t (1000)

Usado principalmente em /tmp — apenas o proprietário do ficheiro (ou root) pode apagar ou renomear ficheiros dentro do diretório, mesmo que outros tenham permissão de escrita.

chmod +t /tmp
# drwxrwxrwt (o t substitui x no triplo de outros)

Umask: Permissões Padrão

Umask define quais bits de permissão são removidos quando um novo ficheiro ou diretório é criado. É o inverso das permissões padrão desejadas.

umask 022  # Padrão para a maioria dos sistemas
# Ficheiros: 666 - 022 = 644 (rw-r--r--)
# Diretórios: 777 - 022 = 755 (rwxr-xr-x)

umask 002  # Padrão para diretórios partilhados
# Ficheiros: 666 - 002 = 664 (rw-rw-r--)
# Diretórios: 777 - 002 = 775 (rwxrwxr-x)

umask 077  # Restritivo (privado)
# Ficheiros: 666 - 077 = 600 (rw-------)
# Diretórios: 777 - 077 = 700 (rwx------)

Melhores Práticas de Segurança

  • Ficheiros de configuração com segredos: 600 (chmod 600 .env)
  • Chaves privadas SSH: 600 (chmod 600 ~/.ssh/id_rsa)
  • Diretório SSH: 700 (chmod 700 ~/.ssh)
  • Diretórios web: 755 (chmod 755 /var/www/html)
  • Ficheiros web: 644 (chmod 644 /var/www/html/index.html)
  • Diretórios de upload: 755, não 777
  • Scripts executáveis: 755 (chmod 755 deploy.sh)
  • Nunca use 777 em produção — permite que qualquer utilizador modifique ficheiros

Armadilhas Comuns

Armadilha 1: Confundir permissões de diretório e ficheiro

# ❌ Errado — dar execução a todos os ficheiros recursivamente
chmod -R 755 /caminho

# ✅ Correto — separar permissões de ficheiro e diretório
find /caminho -type f -exec chmod 644 {} \;
find /caminho -type d -exec chmod 755 {} \;

Armadilha 2: Usar 777 para uploads web

# ❌ Errado — qualquer utilizador pode escrever
chmod 777 uploads/

# ✅ Correto — proprietário pode escrever, outros só leitura+execução
chmod 755 uploads/
# Tornar o utilizador do servidor web o proprietário
chown www-data:www-data uploads/

Armadilha 3: Ignorar permissões de grupo para projetos de equipa

# Definir o sticky group bit para que novos ficheiros herdem o grupo
chmod g+s /projeto/partilhado
chmod 775 /projeto/partilhado

Ferramenta Online

A ferramenta CHMOD Calculator no Help2Code fornece um alternador interativo de bits de permissão com saída octal e simbólica instantânea. Alterne leitura, escrita e execução para proprietário, grupo e outros, e veja o comando chmod resultante imediatamente. Predefinições rápidas para modos comuns como 755, 644, 600 e 700 facilitam encontrar o conjunto de permissões certo sem memorizar valores octais.

Conclusão

As permissões de ficheiros Unix são um sistema simples mas poderoso construído em três triplos de bits de leitura, escrita e execução. A notação octal torna as permissões compactas e programáveis, enquanto a notação simbólica fornece controlo refinado. Compreender permissões — incluindo umask, SUID, SGID e o sticky bit — é essencial para administração segura de servidores. Use a ferramenta CHMOD Calculator para experimentar combinações de permissões interativamente.


About this article

Aprenda como funcionam as permissões de ficheiros Unix, leia notação octal e simbólica chmod como um profissional e calcule permissões com a nossa ferramenta online gratuita.


Related Articles


Related Tools

Help2Code Logo
Menu