Um Modelo Mental para Permissões Linux: rwx e owner/group/other

Um Modelo Mental para Permissões Linux: rwx e owner/group/other

O que você vai conseguir fazer

  • Ler rwx e owner / group / other de forma intuitiva
  • Interpretar uma permissão como rwxr-xr-x

Pré-requisitos (leia estes primeiro)

A String de Permissões Parece um Feitiço?

Você roda ls -l, e lá está no início de cada linha: uma string como -rw-r--r--. "O que esse código significa?" Essa string são as permissões do arquivo — as regras de quem pode fazer o quê com ele. "Permissões", "direitos de acesso" e "modo do arquivo" são nomes diferentes para a mesma coisa.

Parece críptico, mas a ideia é simples. São apenas dois eixos lado a lado: quem e o que pode fazer. Neste guia, Lina e o veterano Linny organizam owner / group / other e os bits rwx (read / write / execute). Ao final, você vai olhar para -rwxr-xr-- e saber instantaneamente o que ele concede.

O que Você Vai Aprender

  • Que permissões decidem "quem" pode fazer "o quê" em um arquivo
  • O significado de owner, group e other
  • O significado de r (read), w (write) e x (execute)
  • Como ler os primeiros 10 caracteres do ls -l
  • Como rwx significa algo diferente para diretórios
  • Como modos numéricos como 755 e 644 se mapeiam para rwx

1. Por que Existem Permissões?

Conclusão: Permissões são a regra de "quem pode fazer o quê neste arquivo". Elas impedem que outros leiam ou quebrem seus arquivos sem autorização.

Lina: Veterano Linny, o que é aquele -rw-r--r-- no início de cada linha do ls -l? Fiquei fingindo que não via...
Veterano Linny: São as "permissões" — os direitos de acesso a um arquivo. Elas decidem "quem" pode fazer "o quê" com ele.
Lina: Quem, e o quê?
Veterano Linny: Isso. O Linux foi construído presumindo que uma máquina é compartilhada por muitas pessoas. Então é preciso ter controle fino. "Ninguém mais deve sobrescrever meus arquivos, mas ler tudo bem" — as permissões são o que permite dizer isso.
Lina: Entendi. É como o quão trancado cada arquivo está.
Veterano Linny: Boa comparação. Você tranca a porta da frente, mas qualquer pessoa pode deixar uma carta na caixa de correio. Arquivos funcionam igual: você decide, um por um, o quanto cada um fica aberto.

Permissões = uma tabela "quem" × "o quê"

Permissões parecem difíceis, mas são construídas a partir de apenas dois eixos.

  • Quem: owner / group / other
  • O quê: r (read) / w (write) / x (execute)

Uma vez que você entenda essa grade 3 × 3, pode decodificar qualquer string de permissãoAs regras de acesso de leitura / escrita / execução definidas em um arquivo ou diretório..

2. O que São owner / group / other?

Conclusão: As permissões são definidas para três partes: owner (o dono do arquivo), group (membros do grupo) e other (todos os demais).

Lina: Vamos começar pelo eixo "quem".
Veterano Linny: O "quem" se divide em três grupos: owner, group e other.
Lina: Como três personagens em uma história?
Veterano Linny: Boa forma de ver. O owner é a pessoa que criou o arquivo, quem o detém. O group é o conjunto de pessoas no grupo atribuído ao arquivo. E other é todo mundo que não é nenhum dos dois.
Lina: Em termos de um documento de escritório...?
Veterano Linny: Exatamente isso. O owner é você, que escreveu o documento; o group é sua equipe; other são pessoas de fora da empresa. Para o mesmo documento você pode querer "eu posso editar", "minha equipe pode visualizar", "pessoas de fora não podem tocar". Mesma ideia.
Classe Abreviação Quem representa
owner u A pessoa que é dona do arquivo
group g Membros do grupo do arquivo
other o Todos que não são nenhum dos dois acima

Os três são abreviados u / g / o

Em comandos como chmod, owner é escrito u (user), group é g e other é o. Escreva a (all) para significar os três de uma vez. Você usará essa abreviação mais tarde em formas como chmod u+x, então guarde isso na memória.

3. O que Significam r, w e x?

Conclusão: r é read (leitura), w é write (escrita/alteração), e x é execute (execução). Você concede essas três permissões a cada uma das três partes.

Lina: Agora o eixo "o quê" — a parte do rwx.
Veterano Linny: Isso. Cada uma das três letras é uma ação. r é read (leitura), w é write (escrita/alteração) e x é execute (execução).
Lina: O que "execute" significa aqui?
Veterano Linny: O direito de "rodar" um programa ou script. Para rodar script.sh, o arquivo precisa do bit x, senão não roda. Uma nota de texto simples, por outro lado, geralmente não precisa de x.
Lina: Ler, escrever, rodar. Só três — acho que consigo lembrar.
Símbolo Inglês Significado
r read Ler conteúdo / listar entradas
w write Alterar conteúdo / adicionar, deletar
x execute Rodar / entrar

Permissões ausentes aparecem como -

Dentro de rwx, qualquer permissão não concedida aparece como - (um hífen) naquela posição. Então r-- significa "somente leitura; sem escrita, sem execução". rw- significa "leitura e escrita, mas sem execução". Pense no - como um assento vazio: "sem permissão aqui".

4. Como Ler os Primeiros 10 Caracteres do ls -l?

Conclusão: Os primeiros 10 caracteres são "1 caractere de tipo + rwx do owner + rwx do group + rwx do other". Leia-os em blocos de três.

Lina: Aqui vem a parte principal. Quero conseguir ler -rw-r--r--!
Veterano Linny: Vamos separar em partes. A propósito, o -l do ls -l é uma "opção" — uma instrução extra que muda o comportamento do comando. O hífen na frente é a pista, e -l vem de long (em detalhe).
Lina: Então a gente adiciona quando quer mais detalhe.
Veterano Linny: Isso. Esses 10 caracteres são um caractere inicial mais "3 caracteres × 3 blocos".
Lina: Então você os divide de três em três.
Veterano Linny: Isso. O primeiro caractere é o tipo do arquivo (- para arquivo regular, d para diretórioUm local que organiza arquivos. É a mesma ideia da "pasta" do Windows ou macOS.). Divida os nove restantes em três, e da esquerda para a direita você tem as permissões de owner, group e other. É exatamente a grade "quem × o quê" de antes.

Separar -rw-r--r-- fica assim:

-  rw-  r--  r--
↑   ↑    ↑    ↑
tipo owner group other
  • - inicial: um arquivo regular (d seria um diretório)
  • rw-: owner pode ler r, escrever w, mas não executar -
  • r--: group só pode ler r
  • r--: other também só pode ler r

Diagrama que separa -rw-r--r-- em tipo, owner, group e other e o reescreve como uma grade dos três papéis contra r, w e x. owner tem r e w permitidos, group e other têm apenas r, e todo o resto é negado

Figura 1: o mesmo -rw-r--r-- reescrito como uma grade de "quem × o quê". As letras verdes são as ações permitidas; - marca as que não são. O rótulo type no diagrama corresponde ao primeiro caractere descrito acima.

Em outras palavras, "o owner pode ler e escrever, mas todos os demais só podem ler" — uma configuração muito comum para arquivos de configuração.

Vamos verificar na prática.

ls -l memo.txt
-rw-r--r-- 1 lina lina 42 Jun  6 10:00 memo.txt

Um modelo para ler os 10 caracteres

  1. 1o caractere: - (arquivo) ou d (diretório)
  2. Caracteres 2–4: o rwx do owner
  3. Caracteres 5–7: o rwx do group
  4. Caracteres 8–10: o rwx do other

Na dúvida, recite "tipo, eu, equipe, todos os demais" enquanto divide em blocos de três.

Leia as colunas 3 e 4 do ls -l juntas

Após a string de permissão, a parte lina lina mostra o nome do owner e o nome do group. -rw-r--r-- só faz sentido quando você o combina com esses nomes de owner e group. Crie o hábito de ler os nomes ao lado da string de permissão, não só a string em si.

5. rwx Significa o Mesmo para Diretórios?

Conclusão: Não. Para diretórios, r lista o conteúdo, w adiciona ou deleta arquivos, e x permite entrar (cd) nele.

Lina: Diretórios também têm rwx. Significa o mesmo que para arquivos?
Veterano Linny: Boa observação. Na verdade muda um pouco. Um diretório é uma "caixa que contém arquivos", então o alvo de cada ação passa a ser a própria caixa.
Lina: Ler, escrever, executar em uma caixa...?
Veterano Linny: Em ordem: r significa "você pode listar os nomes dos arquivos na caixa", w significa "você pode adicionar ou remover arquivos na caixa", e x significa "você pode entrar na caixa (cd nela)".
Lina: Então x vira "entrar" em vez de "executar".
Veterano Linny: Essa é a parte complicada. Sem x em um diretório, você não consegue fazer cd nele mesmo que tenha conteúdo, e não consegue acessar os arquivos dentro. Por isso diretórios geralmente têm o bit x definido.
Bit Para um arquivo Para um diretório
r Ler o conteúdo Listar os nomes dos arquivos dentro
w Alterar o conteúdo Adicionar ou deletar arquivos
x Rodar o programa Entrar (cd) / acessar o conteúdo

Remover x de um diretório bloqueia o acesso mesmo quando tem conteúdo

O w de um diretório só funciona junto com o x. Conceda apenas w e você ainda não consegue criar arquivos, porque não consegue entrar no diretório.

Se você retirar x de um diretório, cd falha com Permission denied. Quando "o arquivo deveria estar lá mas não consigo abri-lo", a causa frequentemente é um x ausente no lado do diretório.

Evite chmod 777 — ele permite tudo a todos

Você vai ver muito chmod 777 na internet como jeito rápido de fazer um erro desaparecer. É um atalho arriscado.

  1. O que acontece: ele concede leitura, escrita e execução a owner, group e other igualmente. Se outra pessoa sobrescrever o arquivo, o Linux não vai impedir.
  2. A escolha mais segura: comece com 644 para arquivos e 755 para scripts e diretórios. Se não bastar, adicione só o necessário, como chmod u+x.
  3. Uma tranquilidade: o terminalUm programa interativo que interpreta os comandos digitados e os executa. virtual deste site é para aprender. Seu próprio computador continua seguro, então este é o lugar para tirar o erro do 777 do sistema.

6. O que São Números como 755 e 644?

Conclusão: São rwx escritos como números. Some r=4, w=2, x=1 e escreva três dígitos na ordem owner / group / other.

Lina: Também vejo números como chmod 755 ou 644. O que são esses?
Veterano Linny: São rwx escritos como números — as mesmas permissões, só que expressas de forma abreviada com dígitos em vez de letras.
Lina: Como você os converte?
Veterano Linny: Você dá uma pontuação a cada permissão: r vale 4, w vale 2, x vale 1. Some as pontuações das permissões concedidas e esse é o dígito para aquela posição.
Lina: Então rwx seria...?
Veterano Linny: 4 + 2 + 1 = 7. rw- é 4 + 2 = 6. r-- é 4. Alinhe três desses na ordem owner / group / other e você obtém um número de três dígitos como 644.
rwx Soma Dígito
rwx 4 + 2 + 1 7
rw- 4 + 2 6
r-x 4 + 1 5
r-- 4 4
--- 0 0

Então 644 significa rw-r--r-- (owner=6, group=4, other=4), e 755 significa rwxr-xr-x (owner=7, group=5, other=5).

chmod 644 memo.txt
ls -l memo.txt
-rw-r--r-- 1 lina lina 42 Jun  6 10:00 memo.txt

Memorize esses dois primeiro

  • 644 (rw-r--r--): um arquivo normal. Owner lê e escreve; outros só leem.
  • 755 (rwxr-xr-x): um script ou diretório. Owner faz tudo; outros leem e executam (entram).

Esses dois cobrem a maioria dos casos do dia a dia.

7. Como Praticar na Prática?

Conclusão: A forma mais rápida de fixar é realmente digitar ls -l e chmod em um terminal.

Lina: Acho que entendi na teoria, mas ainda não estou confiante...
Veterano Linny: Permissões fixam mais rápido quando você "muda e verifica" em vez de apenas "olha e memoriza". Mude uma permissão com chmod, depois observe como o ls -l muda — o entendimento vem rápido.
Lina: Não é assustador estragar coisas no meu próprio ambiente?
Veterano Linny: Crie um arquivo de prática e você ficará bem. Se ainda tiver nervoso, use um playground que você pode testar no navegador.
chmod u+x script.sh
ls -l script.sh
-rwxr--r-- 1 lina lina 18 Jun  6 10:05 script.sh

Com u+x (adicionar execução para o owner), você pode ver rw- mudar para rwx.

Digite ls -l e chmod várias vezes no terminal do Penguin Gym Linux e veja como o display muda. Uma vez que você sentir "mudar o número → a string muda", as permissões deixam de ser assustadoras.

O Script de Lina Não Roda

Conclusão: Um arquivo sem x não pode ser executado. Permission denied é o sinal para checar o x com ls -l.

Veterano Linny: Antes de testar, vamos criar um script de treino.
echo 'echo "Hello, Penguin Gym"' > hello.sh
Veterano Linny: Para executar, você escreve ./hello.sh. Esse ./ na frente significa "este arquivo, aqui no diretório em que estou".
Lina: Então vou rodar. ./hello.sh... hum, ele me recusou.
./hello.sh
bash: ./hello.sh: Permission denied
Lina: Tenho certeza de que escrevi o conteúdo certo. Por que isso acontece?
Veterano Linny: O conteúdo não é o problema — falta permissão. Vamos olhar com ls -l.
ls -l hello.sh
-rw-r--r-- 1 lina lina 32 Jun  6 10:20 hello.sh
Lina: Está rw-. Ah! Não tem x.
Veterano Linny: Essa é a causa. Para executar, o owner precisa do x. Vamos adicionar com chmod u+x.
chmod u+x hello.sh
./hello.sh
Hello, Penguin Gym
Lina: Rodou. Então, quando eu vejo Permission denied, checo o x com ls -l primeiro.
Veterano Linny: Exatamente. O erro é um aviso que diz "sua permissão está incompleta". Quando você sabe ler, ele deixa de assustar.

Exercícios Rápidos

Conclusão: Digite os comandos ls -l e chmod deste guia e observe a saída mudar.

Veterano Linny: Vamos confirmar o que você aprendeu com as suas próprias mãos. Aqui estão três exercícios. Primeiro, crie os dois arquivos de treino.
touch memo.txt
echo 'echo "Hello, Penguin Gym"' > script.sh

Exercício 1: Exiba as Permissões de um Arquivo

Tarefa: Mostre as permissões de memo.txt de forma que os primeiros 10 caracteres apareçam.

Ver Dica 1 (Direção)

Adicione ao comando de listagem a opção que mostra mais detalhes. Pense na primeira letra de "long" (longo).

Ver Dica 2 (Nome do comando)

Use ls -l.

Ver Resposta
ls -l memo.txt
-rw-r--r-- 1 lina lina 42 Jun  6 10:00 memo.txt

Exercício 2: Dê ao owner Permissão de Executar

Tarefa: Adicione x para o owner de script.sh e confira se a saída mudou.

Ver Dica 1 (Direção)

Passe "quem, o quê, adicionar" ao comando que altera permissões. A abreviação de owner era u.

Ver Dica 2 (Nome do comando)

Use chmod u+x e depois confirme com ls -l.

Ver Resposta
chmod u+x script.sh
ls -l script.sh
-rwxr--r-- 1 lina lina 18 Jun  6 10:05 script.sh

Exercício 3: Volte para 644 em Modo Numérico

Tarefa: Devolva script.sh para "o dono lê e escreve, todos os demais só leem".

Ver Dica 1 (Direção)

Some r=4, w=2, x=1 e escreva três dígitos. O owner fica com 4+2; as outras duas partes ficam só com 4.

Ver Dica 2 (Nome do comando)

Use chmod 644.

Ver Resposta
chmod 644 script.sh
ls -l script.sh
-rw-r--r-- 1 lina lina 18 Jun  6 10:06 script.sh

Revisão

Conclusão: Permissões são uma grade 3 × 3 de "quem × o quê". Divida os 10 caracteres do ls -l em trios e você consegue lê-los.

Lina: Então eu leio os 10 caracteres do ls -l nesta ordem: tipo, eu, equipe, todos os demais.
Veterano Linny: Exatamente. Só fique atenta ao x: ele significa "executar" em um arquivo e "entrar" em um diretório.
Lina: E os números 644 e 755 são somas de r=4, w=2, x=1.
Veterano Linny: Isso já cobre a maior parte do dia a dia. Depois, basta repetir "mudar com chmod, conferir com ls -l".

Resumo em 3 Linhas

Conclusão: A grade "quem × o quê", como dividir os 10 caracteres e o modo numérico — esses três pontos permitem ler e escrever permissões.

  1. Permissões são uma grade 3 × 3 de "quem" × "o quê" - atribua r / w / x a owner / group / other
  2. Os primeiros 10 caracteres do ls -l são "tipo + owner + group + other" - leia três de cada vez; x em um diretório significa "entrar"
  3. Modo numérico é a soma de r=4, w=2, x=1 - aprenda 644 (arquivo comum) e 755 (script ou diretório) primeiro

Próxima Leitura