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.
- Quem pode o quê: dono, grupo e outros.
- O que
r,wexsignificam 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ão | sim/não | sim/não |
Grupo (group, g) | sim/não | sim/não | sim/não |
Outros (others, o) | sim/não | sim/não | sim/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,dpasta (directory),llink. - 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 dowé 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
| Parte | Leitura |
|---|---|
- | 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
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:
| Letra | Num arquivo | Numa 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. |
- Quem apaga um arquivo é o
wda 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 comr, 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:
| Letra | Vale |
|---|---|
r | 4 |
w | 2 |
x | 1 |
- | 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úmero | Letras | Uso típico |
|---|---|---|
644 | rw-r--r-- | Arquivo comum: você altera, os outros só leem. |
664 | rw-rw-r-- | Padrão dos arquivos novos no Ubuntu. |
600 | rw------- | Arquivo privado, como a chave SSH. |
755 | rwxr-xr-x | Script ou programa; pasta pública. |
775 | rwxrwxr-x | Padrão das pastas novas no Ubuntu. |
700 | rwx------ | Pasta privada, como ~/.ssh. |
777 | rwxrwxrwx | Todos 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.
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:
- Quem sou eu?
whoamieidmostram seu usuário e seus grupos. - De quem é o arquivo?
ls -l arquivomostra dono, grupo e permissões. - 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.
- A letra que preciso está lá? Ler =
r; alterar =w; executar ou entrar =x. - E as pastas do caminho? Para chegar em
/a/b/arquivo, você precisa dexem/ae em/a/b. Confira comls -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í:
| Nome | Aparece como | Para que serve | Exemplo |
|---|---|---|---|
| SUID | s no lugar do x do dono | O programa roda com os poderes do dono do arquivo. | /usr/bin/passwd: roda como root para você poder trocar sua senha. |
| SGID | s no x do grupo | Numa pasta, arquivos novos herdam o grupo da pasta. | Pastas compartilhadas por uma equipe. |
| Sticky bit | t no x dos outros | Numa 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
$ ./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.
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.
$ 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.
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
| Comando | Mostra |
|---|---|
ls -l arquivo | Permissões, dono e grupo |
ls -ld pasta | As permissões da pasta em si (não do conteúdo) |
stat -c "%a %A" arquivo | Permissão em número e em letras |
id | Seu usuário e seus grupos |
umask | Que 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:
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,wex. - Em pasta:
rlista,wcria e apaga dentro,xdeixa 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.