user@lpi:~$ linux-essentials
Início / Tópico 5 · Segurança e permissões de arquivos / 5.3

5.3 — Permissões e donos de arquivosTópico 5: Segurança e permissões de arquivospeso 5

O que você precisa entender

Esse é provavelmente o subtópico mais importante de toda a certificação. Todo arquivo tem um dono, um grupo, e permissões de leitura/escrita/execução para três categorias: dono, grupo, outros.

Lendo a saída de ls -l

-rwxr-xr-- 1 joao devs 4096 Jan 10 10:00 script.sh
Parte Significado
- (1º caractere) Tipo: -=arquivo, d=diretório, l=link simbólico
rwx Permissões do dono (joao): ler, escrever, executar
r-x Permissões do grupo (devs): ler, executar (sem escrever)
r-- Permissões de outros: só ler
joao Usuário dono
devs Grupo dono

Os 3 tipos de permissão

Letra Em arquivo Em diretório
r (read) Ler o conteúdo Listar o conteúdo (ls)
w (write) Modificar o conteúdo Criar/remover arquivos dentro
x (execute) Executar como programa/script Entrar no diretório (cd)

Notação numérica (octal) — cai muito na prova

Cada permissão vale um número: r=4, w=2, x=1. Soma-se pra cada categoria.

Número Permissões Significado
7 rwx ler+escrever+executar
6 rw- ler+escrever
5 r-x ler+executar
4 r-- só ler
0 --- nada

Exemplo: chmod 755 script.sh = dono: rwx(7), grupo: r-x(5), outros: r-x(5). Exemplo: chmod 644 arquivo.txt = dono: rw-(6), grupo: r--(4), outros: r--(4) — o padrão pra arquivos comuns.

chmod — mudar permissões

chmod 755 script.sh          # notação numérica (a mais cobrada)
chmod u+x script.sh          # notação simbólica: adiciona execução pro dono (u=user)
chmod g-w arquivo.txt        # remove escrita do grupo (g=group)
chmod o=r arquivo.txt        # define outros (o=other) como só leitura
chmod a+r arquivo.txt        # a=all (todos: dono+grupo+outros)
chmod -R 755 pasta/          # -R = recursivo, aplica em tudo dentro da pasta

chown e chgrp — mudar dono/grupo

chown novodono arquivo.txt              # muda só o dono
chown novodono:novogrupo arquivo.txt     # muda dono E grupo de uma vez
chown :novogrupo arquivo.txt             # muda só o grupo (via chown)
chgrp novogrupo arquivo.txt              # muda só o grupo (comando dedicado)
chown -R usuario:grupo pasta/            # recursivo

Termos-chave

  • Dono (owner/user), grupo (group), outros (others)
  • r, w, x — read, write, execute
  • Notação octal (numérica) vs simbólica
  • -R — recursivo

Comandos para testar

# 1. Ver permissões detalhadas de um arquivo
ls -l /etc/passwd

# 2. Criar um arquivo e dar permissão de execução só pro dono
touch teste.sh
chmod 700 teste.sh
ls -l teste.sh

# 3. Mudar permissão usando notação simbólica
chmod u+x,g+r,o-r teste.sh
ls -l teste.sh

# 4. Mudar o dono de um arquivo (precisa de sudo geralmente)
sudo chown root teste.sh

# 5. Mudar dono E grupo ao mesmo tempo
sudo chown root:root teste.sh

📌 Exercício prático

Crie um arquivo chamado segredo.txt. Configure as permissões pra 640 usando chmod (dono lê/escreve, grupo só lê, outros nada) e confirme com ls -l. Depois calcule de cabeça: qual seria o comando chmod numérico pra um script que o dono pode ler/escrever/executar, o grupo só pode ler/executar, e outros não têm acesso nenhum? Rode o comando e confira com ls -l.