Ubuntu Entendendo Permissões

"Permissão negada" é uma das mensagens mais comuns no Linux. Ela aparece quando você tenta ler, mudar ou executar algo que não é seu. Nesta aula você vai aprender a ler as permissões de qualquer arquivo e a entender por que um comando foi bloqueado. Mudar permissões fica para as aulas chmod e chown.

Você vai aprender
  • Quem pode o quê: dono, grupo e outros.
  • O que r, w e x significam em arquivos e em pastas (não é a mesma coisa).
  • Como ler -rwxr-x--- de cabeça.
  • O que são os números 644, 755 e 600.
  • Como descobrir, passo a passo, o motivo de uma "Permissão negada".

A ideia: três perguntas

Para cada arquivo, o Linux responde três perguntas, para três tipos de pessoa:

Pode ler? (r)Pode alterar? (w)Pode executar? (x)
Dono (user, u)sim/nãosim/nãosim/não
Grupo (group, g)sim/nãosim/nãosim/não
Outros (others, o)sim/nãosim/nãosim/não
  • Dono: o usuário a quem o arquivo pertence, normalmente quem o criou.
  • Grupo: um conjunto de usuários. Todo arquivo pertence a um grupo; quem está nesse grupo usa as permissões do meio.
  • Outros: todo o resto.

O root ignora tudo isso: ele pode tudo. É por isso que o sudo "resolve" a Permissão negada.


Lendo as permissões com ls -l

$ ls -l Documentos/projetos
total 8
-rwxrwxr-x 1 ana ana   45 Oct 15 09:15 backup.sh
drwxrwxr-x 2 ana ana 4096 Oct 12 08:03 site

Os 10 caracteres do começo de cada linha são as permissões. Vamos desmontar o primeiro:

-
Tipo: - arquivo comum, d pasta (directory), l link.
rwx
Dono (ana): pode ler, alterar e executar.
rwx
Grupo (ana): pode ler, alterar e executar.
r-x
Outros: podem ler e executar, mas não alterar. O - no lugar do w é um "não".

Depois das permissões vêm o número de links, o dono (ana) e o grupo (ana). No Ubuntu, cada usuário tem um grupo com o mesmo nome dele.

Outro exemplo: um arquivo protegido

$ ls -l /etc/shadow
-rw-r----- 1 root shadow 1449 Oct 13 13:05 /etc/shadow
ParteLeitura
-Arquivo comum.
rw-O dono (root) lê e altera.
r--Quem é do grupo shadow só lê.
---Os outros, incluindo a ana, não podem nada.

É ali que ficam as senhas (criptografadas) de todos os usuários. Por isso a ana não consegue nem ler:

$ cat /etc/shadow
cat: /etc/shadow: Permission denied
$ echo $?
1
"Permission denied" ou "Permissão negada"?

São a mesma coisa. No Ubuntu 26.04, alguns comandos (como cat) respondem em inglês e outros (como ls e o próprio bash) em português.

Missão: descubra o dono, o grupo e as permissões de /etc/shadow com ls -l. Tente lê-lo com cat e veja o erro. Depois tente com sudo cat /etc/shadow.


r, w, x: em arquivo é uma coisa, em pasta é outra

Este é o ponto que mais confunde. As mesmas letras têm efeitos diferentes:

LetraNum arquivoNuma pasta
r (read)Ver o conteúdo (cat, abrir no editor).Listar os nomes que estão dentro (ls).
w (write)Alterar o conteúdo.Criar, apagar e renomear arquivos dentro dela.
x (execute)Rodar como programa ou script.Entrar nela (cd) e acessar o que tem dentro.
Duas consequências que surpreendem
  • Quem apaga um arquivo é o w da pasta, não o do arquivo. Você pode apagar um arquivo que não consegue alterar, se a pasta for sua.
  • Uma pasta sem x é inútil: mesmo com r, você não entra nela.
$ ls -ld secreta
drw-r--r-- 2 ana ana 4096 Oct 15 11:02 secreta      « sem x para ninguém
$ cd secreta
bash: cd: secreta: Permissão negada

A própria ana, dona da pasta, não consegue entrar, porque falta o x até para o dono.

Executar um script

Um arquivo só roda como programa se tiver x:

$ ls -l limpar.sh
-rw-rw-r-- 1 ana ana 120 Oct 15 10:50 limpar.sh   « nenhum x
$ ./limpar.sh
bash: ./limpar.sh: Permissão negada
$ chmod +x limpar.sh
$ ls -l limpar.sh
-rwxrwxr-x 1 ana ana 120 Oct 15 10:50 limpar.sh   « agora tem x
$ ./limpar.sh
Limpeza concluída.

chmod +x acrescenta a permissão de execução. Os detalhes estão na aula chmod.


Permissões em números: 644, 755, 600

Você vai ver muito as permissões escritas como três números. Cada letra vale um número, e você soma:

LetraVale
r4
w2
x1
-0

Exemplo: rwx = 4 + 2 + 1 = 7; r-x = 4 + 0 + 1 = 5; r-- = 4. Cada grupo de três vira um número, na ordem dono, grupo, outros:

7
Dono: rwx (4+2+1).
5
Grupo: r-x (4+0+1).
5
Outros: r-x (4+0+1).
NúmeroLetrasUso típico
644rw-r--r--Arquivo comum: você altera, os outros só leem.
664rw-rw-r--Padrão dos arquivos novos no Ubuntu.
600rw-------Arquivo privado, como a chave SSH.
755rwxr-xr-xScript ou programa; pasta pública.
775rwxrwxr-xPadrão das pastas novas no Ubuntu.
700rwx------Pasta privada, como ~/.ssh.
777rwxrwxrwxTodos podem tudo. Quase nunca é a resposta certa.

Para ver o número direto, use stat:

$ stat -c "%a %A %U %G %n" /etc/shadow /tmp /usr/bin/passwd
640 -rw-r----- root shadow /etc/shadow
1777 drwxrwxrwt root root /tmp
4755 -rwsr-xr-x root root /usr/bin/passwd

Os números de quatro dígitos e as letras t e s são as permissões especiais, explicadas no fim da página.

Atenção: não resolva com 777

Na internet, muita gente "resolve" Permissão negada com chmod 777. Isso deixa qualquer usuário, e qualquer programa invasor, alterar o arquivo. Descubra o motivo do bloqueio e dê só a permissão que falta.


Diagnosticando uma "Permissão negada"

Quando o bloqueio aparecer, siga estas perguntas, nesta ordem:

  1. Quem sou eu? whoami e id mostram seu usuário e seus grupos.
  2. De quem é o arquivo? ls -l arquivo mostra dono, grupo e permissões.
  3. Em qual dos três eu me encaixo? Se sou o dono, valem as 3 primeiras letras. Se estou no grupo, as do meio. Senão, as últimas.
  4. A letra que preciso está lá? Ler = r; alterar = w; executar ou entrar = x.
  5. E as pastas do caminho? Para chegar em /a/b/arquivo, você precisa de x em /a e em /a/b. Confira com ls -ld /a /a/b.
$ id
uid=1000(ana) gid=1000(ana) groups=1000(ana),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),114(lpadmin)

A ana está no grupo adm. Por isso ela consegue ler alguns logs do sistema que pertencem a esse grupo, mesmo sem sudo. E está no grupo sudo, que permite virar administradora.

Missão: siga o roteiro de diagnóstico na máquina fictícia: veja seus grupos com id, confira as permissões de /root com ls -ld /root e descubra por que ls /root falha.


Permissões especiais (visão geral)

Há três permissões extras. Você não precisa configurá-las agora, mas vai encontrá-las por aí:

NomeAparece comoPara que serveExemplo
SUIDs no lugar do x do donoO programa roda com os poderes do dono do arquivo./usr/bin/passwd: roda como root para você poder trocar sua senha.
SGIDs no x do grupoNuma pasta, arquivos novos herdam o grupo da pasta.Pastas compartilhadas por uma equipe.
Sticky bitt no x dos outrosNuma pasta, cada um só apaga os próprios arquivos./tmp: todos escrevem, ninguém apaga o do outro.
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 93640 Feb  2  2026 /usr/bin/passwd
$ ls -ld /tmp
drwxrwxrwt 26 root root 580 Oct 15 10:30 /tmp

Quando não funciona

"Permissão negada" ao rodar um script
$ ./backup.sh
bash: ./backup.sh: Permissão negada

O que aconteceu: o arquivo não tem x.

Como resolver: chmod +x backup.sh. Outra forma, sem mudar a permissão: bash backup.sh, que pede ao bash para ler o arquivo.

Consigo ver o arquivo no ls, mas não abrir

O que aconteceu: a pasta tem r (por isso o nome aparece), mas o arquivo não tem r para você.

Como resolver: confira com ls -l arquivo. Se é um arquivo do sistema e você realmente precisa ler, use sudo.

"Permission denied" numa chave SSH
$ ssh servidor
Permissions 0644 for '/home/ana/.ssh/id_ed25519' are too open.

O que aconteceu: aqui é o contrário: a permissão está aberta demais. O SSH se recusa a usar uma chave privada que outros podem ler.

Como resolver: chmod 600 ~/.ssh/id_ed25519. Veja SSH.

Entrei no grupo, mas continua negado

O que aconteceu: você foi adicionado a um grupo (por exemplo, com usermod -aG), mas a sessão atual ainda usa a lista antiga de grupos. Confira com id: o grupo novo não aparece.

Como resolver: saia da sessão e entre de novo (ou reinicie). Veja Usuários e Grupos.


Referência rápida

ComandoMostra
ls -l arquivoPermissões, dono e grupo
ls -ld pastaAs permissões da pasta em si (não do conteúdo)
stat -c "%a %A" arquivoPermissão em número e em letras
idSeu usuário e seus grupos
umaskQue permissões os arquivos novos recebem (no Ubuntu, 0002 → 664 e 775)

Exercícios

1. De letras para número

Qual é o número de rwxr-x---?

2. De número para letras

Escreva em letras a permissão 644 (9 caracteres):

3. Ver a permissão da pasta em si

Complete para ver as permissões da pasta /root, e não do conteúdo dela:

ls /root

4. Numa pasta, o que a permissão x permite?

5. O arquivo é -rw-r----- 1 root adm e a ana está no grupo adm. O que a ana pode fazer?


Resumo

  • Cada arquivo tem dono, grupo e "outros", e cada um tem r, w e x.
  • Em pasta: r lista, w cria e apaga dentro, x deixa entrar.
  • r=4, w=2, x=1: 755 = rwxr-xr-x, 644 = rw-r--r--.
  • Diante de "Permissão negada": whoami/id, ls -l, descubra em qual dos três você se encaixa e qual letra falta.
  • Evite 777. Para mudar permissões, veja chmod e chown.