⬅ Voltar ao Dashboard 2º Bimestre — Linux Avançado

🔐 Permissões de Arquivos e Diretórios

Controle quem acessa o quê — Grupos, tipos de permissão e comando chmod!

🤔 Entendendo as Permissões no Linux

No Linux, arquivos e diretórios recebem permissões automaticamente ao serem criados.

Permissões são divididas em três grupos:

Símbolo Grupo Descrição
u 👤 Usuário dono Quem criou o arquivo
g 👥 Grupo dono Membros do grupo associado ao arquivo
o 🌍 Outros usuários Todos os demais usuários do sistema

E em três tipos de permissão:

Símbolo Nome Valor Octal O que faz
r 📖 Leitura (Read) 4 Visualizar o conteúdo do arquivo
w ✏️ Escrita (Write) 2 Alterar o conteúdo do arquivo
x ⚡ Execução (Execute) 1 Executar arquivos e acessar diretórios

🔍 Visualizando as Permissões: ls -l

Use ls -l para visualizar as permissões de arquivos e diretórios:

visualizando permissões
usuario@linux:/var/www/html$ ls -l
total 8
-rw-rw-r-- 1 yuri yuri    17 Out  5 17:45 info.php
drwx------ 5 yuri yuri  4096 Fev 15  2017 loja

Lendo a primeira coluna — 10 caracteres:

  • 1º caractere: tipo — - = arquivo comum  |  d = diretório
  • 2º ao 4º: permissões do usuário dono (rwx)
  • 5º ao 7º: permissões do grupo dono (rwx)
  • 8º ao 10º: permissões dos outros usuários (rwx)

Permissão presente: letra correspondente  |  Permissão ausente: traço (-)

Saída Usuário dono Grupo dono Outros
-rw-rw-r-- rw- (leitura, escrita) rw- (leitura, escrita) r-- (só leitura)
drwx------ rwx (acesso total) --- (nenhuma) --- (nenhuma)
-
r
w
-
r
w
-
r
-
-
tipo
👤 usuário dono
👥 grupo dono
🌍 outros

Passe o mouse sobre cada bloco para ver o significado

💡 O traço (-) no lugar de r, w ou x significa “sem essa permissão”.

🔧 Alterando Permissões: chmod Simbólico

chmod = Change Mode — altera permissões de arquivos ou diretórios.

Sintaxe: chmod [quem][operador][permissão] arquivo

Quem Operador Permissão
u = usuário dono
g = grupo dono
o = outros
a = todos (ugo)
+ = adicionar
- = remover
= = definir exato
r = leitura
w = escrita
x = execução
chmod modo simbólico — exemplos
# Dar leitura a outros
usuario@linux:~$ chmod o=r diretorio

# Conceder todas as permissões para todos
usuario@linux:~$ chmod ugo=rwx diretorio

# Adicionar execução ao usuário dono
usuario@linux:~$ chmod u+x teste.txt
# (adiciona ao usuário a permissão de execução do arquivo teste.txt)

# Remover execução do usuário dono
usuario@linux:~$ chmod u-x teste.txt
# (retira do usuário a permissão de execução do arquivo teste.txt)

# Adicionar permissão de gravação para o usuário (u+w)
usuario@linux:~$ chmod u+w ProvaFinal.odt

🔢 Alterando Permissões: Modo Octal

Recebe este nome por utilizar oito números (0 a 7). Cada número corresponde a uma combinação de permissões:

Número Permissão Cálculo
4Leitura (r)4+0+0
2Escrita (w)0+2+0
1Execução (x)0+0+1
7Todas (rwx)4+2+1
6Leitura + escrita (rw-)4+2+0
5Leitura + execução (r-x)4+0+1
0Nenhuma (---)0+0+0

🖩 Calculadora Octal Interativa — clique nos bits para calcular

👤 Dono
r
w
x
= 7
👥 Grupo
r
w
x
= 5
🌍 Outros
r
w
x
= 4
chmod 754 arquivo

A ordem é sempre: usuário dono — grupo dono — outros usuários.

chmod modo octal — exemplos
# Leitura p/ dono (4), escrita p/ grupo (2), execução p/ outros (1)
usuario@linux:~$ chmod 421 teste.txt

# Todas as permissões para todos: (4+2+1),(4+2+1),(4+2+1)
usuario@linux:~$ chmod 777 teste.txt

# 754: dono=rwx(7), grupo=r-x(5), outros=r--(4)
usuario@linux:~$ chmod 754 teste.txt
-rwxr-xr-- 1 usuario grupo 0 Jan 15 teste.txt

⚠️ Evite chmod 777 em produção! Qualquer usuário do sistema poderá ler, escrever e executar o arquivo — isso é um risco de segurança.

📋 Resumo

Octal Simbólico Significado
7rwxLeitura + escrita + execução
6rw-Leitura + escrita
5r-xLeitura + execução
4r--Só leitura
2-w-Só escrita
1--xSó execução
0---Nenhuma permissão
Modo Simbólico Modo Octal Efeito
chmod o=r arquivochmod 664 arquivoOutros só leem
chmod ugo=rwx arquivochmod 777 arquivoTodos têm tudo
chmod u+x arquivoAdiciona execução ao dono
chmod u-x arquivoRemove execução do dono

💡 Dica: No modo octal, some os valores — r=4, w=2, x=1 — para cada grupo (dono, grupo, outros) e junte os três dígitos.

❓ Verifique seu Conhecimento

Um administrador Linux precisou utilizar o comando chmod em um servidor de arquivos. A função desse comando é:

AModificar as permissões de um arquivo.
BConfigurar o arquivo inittab do sistema.
CEntrar em um diretório do sistema.
DInicializar o sistema operacional.
chmod = change mode — é o comando para alterar as permissões de arquivos e diretórios no Linux. (INSTITUTO AOCP — EBSERH, 2016)

O comando chmod 754 teste.txt altera as permissões deste arquivo para:

A-rwxr-xrw-
B-rwxrwxrwx
C-rwx--xr--
D-rwxr--r-x
E-rwxr-xr--
✓ 7=rwx (dono), 5=r-x (grupo), 4=r-- (outros) → -rwxr-xr--. Lembre: r=4, w=2, x=1. (IF-SP — Professor Informática, 2011)

No Sistema Operacional Linux, o comando chmod u+w ProvaFinal.odt realiza a operação de:

AAdicionar uma permissão de leitura para um grupo.
BAdicionar uma permissão de execução para o dono do arquivo.
CAdicionar uma permissão de gravação para um usuário.
DRemover uma permissão de leitura de um usuário.
ERemover uma permissão de gravação e execução.
u = usuário dono | + = adicionar | w = escrita (gravação). O comando adiciona permissão de gravação para o usuário dono. (CONSULPLAN — TRT 13ª Região, 2012)

Analisando a saída -rw-rw-r-- do comando ls -l, qual é a permissão dos outros usuários?

Arw- (leitura e escrita)
Br-- (somente leitura)
Crwx (acesso total)
D--- (nenhuma permissão)
✓ Os 10 caracteres: tipo + dono(rw-) + grupo(rw-) + outros(r--). Os últimos 3 caracteres (r--) indicam que outros usuários têm apenas leitura.

🛠️ Atividade Prática — Servidor de Arquivos da Empresa TechBR

⏱️ ~40 min 💻 Ubuntu Server / Terminal 📸 Screenshot de cada etapa 👤 Individual

🏢 Cenário: Você é o administrador Linux da empresa TechBR. A equipe de TI criou uma pasta de projetos no servidor e precisa que você configure as permissões de acordo com a política de segurança da empresa. Cada arquivo tem um requisito diferente — leia com atenção antes de executar os comandos.

⚠️ Política de segurança da TechBR:
relatorio.txt — o dono lê e escreve; grupo e outros só leem
backup.sh — o dono tem tudo; grupo pode ler e executar; outros não acessam
projetos/ — o dono tem tudo; grupo pode entrar e listar; outros não acessam
confidencial.cfg — somente o dono lê e escreve; ninguém mais acessa

1
Criar a estrutura de arquivos do projeto
Crie o diretório e os arquivos que serão usados no exercício:
bash — passo 1
# Cria o diretório de projetos e entra nele usuario@servidor:~$ mkdir projetos # Cria os arquivos dentro da pasta home usuario@servidor:~$ touch relatorio.txt backup.sh confidencial.cfg # Lista tudo para ver as permissões padrão criadas pelo sistema usuario@servidor:~$ ls -l

💡 Observe as permissões padrão que o sistema atribuiu. Elas atêndem à política da TechBR? Anote o que precisa ser ajustado em cada arquivo.

2
Configurar permissões do relatorio.txt
Política: dono lê e escreve (rw-); grupo e outros só leem (r--). Use o modo octal:
bash — passo 2
# Calcule: dono=rw-(6), grupo=r--(4), outros=r--(4) → octal 644 usuario@servidor:~$ chmod 644 relatorio.txt usuario@servidor:~$ ls -l relatorio.txt -rw-r--r-- 1 usuario usuario 0 Jan 15 relatorio.txt

Verifique: A saída deve mostrar exatamente -rw-r--r--. O primeiro grupo (dono) tem rw-, os demais têm r--.

3
Configurar permissões do backup.sh
Política: dono tem tudo (rwx); grupo lê e executa (r-x); outros sem acesso (---). Use o modo octal:
bash — passo 3
# Calcule: dono=rwx(7), grupo=r-x(5), outros=---(0) → octal 750 usuario@servidor:~$ chmod 750 backup.sh usuario@servidor:~$ ls -l backup.sh -rwxr-x--- 1 usuario usuario 0 Jan 15 backup.sh

Verifique: A saída deve mostrar -rwxr-x---. Note os três traços no final — outros usuários não têm nenhuma permissão.

4
Configurar permissões do diretório projetos/
Política: dono tem tudo (rwx); grupo entra e lista (r-x); outros sem acesso (---). Use o modo simbólico desta vez:
bash — passo 4
# Define exatamente: dono=rwx, grupo=r-x, outros=nada usuario@servidor:~$ chmod u=rwx,g=rx,o= projetos usuario@servidor:~$ ls -l drwxr-x--- 2 usuario usuario 4096 Jan 15 projetos # O 'd' no início indica que é um diretório

💡 Para diretórios, a permissão x significa poder entrar (cd) no diretório, e r significa poder listar (ls) o conteúdo.

5
Configurar permissões do confidencial.cfg
Política: somente o dono lê e escreve (rw-); grupo e outros sem acesso (---). Use o modo octal:
bash — passo 5
# Calcule: dono=rw-(6), grupo=---(0), outros=---(0) → octal 600 usuario@servidor:~$ chmod 600 confidencial.cfg usuario@servidor:~$ ls -l confidencial.cfg -rw------- 1 usuario usuario 0 Jan 15 confidencial.cfg

⚠️ Atenção: O octal 600 é clássico para chaves SSH, tokens e arquivos de configuração sensíveis. Decore esse valor!

6
Auditoria final: verificar todas as permissões de uma vez
Liste todos os arquivos e o diretório juntos e confirme se cada um atende à política da TechBR:
bash — passo 6 (resultado esperado)
usuario@servidor:~$ ls -l total 4 -rw------- 1 usuario usuario 0 Jan 15 confidencial.cfg drwxr-x--- 2 usuario usuario 4096 Jan 15 projetos -rw-r--r-- 1 usuario usuario 0 Jan 15 relatorio.txt -rwxr-x--- 1 usuario usuario 0 Jan 15 backup.sh # Compare linha a linha com a política da TechBR. # Sua saída bate com o esperado acima?
7
Desafio extra: alterar permissão com modo simbólico
O gerente pediu para adicionar permissão de escrita do grupo no relatorio.txt sem alterar as outras permissões. Qual comando usar?
bash — desafio
# Adiciona (+) escrita (w) ao grupo (g) sem mudar nada mais usuario@servidor:~$ chmod g+w relatorio.txt usuario@servidor:~$ ls -l relatorio.txt -rw-rw-r-- 1 usuario usuario 0 Jan 15 relatorio.txt # Agora desfazendo: remove escrita do grupo usuario@servidor:~$ chmod g-w relatorio.txt usuario@servidor:~$ ls -l relatorio.txt -rw-r--r-- 1 usuario usuario 0 Jan 15 relatorio.txt # De volta ao estado original da política.

💡 O modo simbólico com + e - é ideal para ajustes pontuais: você não precisa recalcular todo o octal — só muda o que precisa.

8
Limpeza: remover os arquivos criados
Após tirar os screenshots, remova o diretório e os arquivos de teste:
bash — passo 8
usuario@servidor:~$ rm relatorio.txt backup.sh confidencial.cfg usuario@servidor:~$ rmdir projetos usuario@servidor:~$ ls -l # Nenhum dos arquivos criados deve aparecer na listagem
📌 Tabela de referência — Política TechBR
Arquivo / Diretório Octal Simbólico Regra aplicada
relatorio.txt 644 -rw-r--r-- Dono edita; todos leem
backup.sh 750 -rwxr-x--- Dono tudo; grupo executa; outros nada
projetos/ 750 drwxr-x--- Dono tudo; grupo entra/lista; outros nada
confidencial.cfg 600 -rw------- Somente o dono acessa

Esse cenário reflete a realidade de servidores de produção: cada arquivo recebe exatamente o acesso que precisa — nem mais, nem menos. Esse princípio chama-se mínimo privilégio.