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,groupeother - O significado de
r(read),w(write) ex(execute) - Como ler os primeiros 10 caracteres do
ls -l - Como
rwxsignifica algo diferente para diretórios - Como modos numéricos como
755e644se mapeiam pararwx
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.
-rw-r--r-- no início de cada linha do ls -l? Fiquei fingindo que não via...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) eother(todos os demais).
owner, group e other.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.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), exé execute (execução). Você concede essas três permissões a cada uma das três partes.
rwx.r é read (leitura), w é write (escrita/alteração) e x é execute (execução).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.| 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.
-rw-r--r--!-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).- 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 (dseria um diretório)rw-: owner pode lerr, escreverw, mas não executar-r--: group só pode lerrr--: other também só pode lerr
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
- 1o caractere:
-(arquivo) oud(diretório) - Caracteres 2–4: o rwx do owner
- Caracteres 5–7: o rwx do group
- 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,
rlista o conteúdo,wadiciona ou deleta arquivos, expermite entrar (cd) nele.
rwx. Significa o mesmo que para arquivos?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)".x vira "entrar" em vez de "executar".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.
- 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.
- A escolha mais segura: comece com
644para arquivos e755para scripts e diretórios. Se não bastar, adicione só o necessário, comochmod u+x. - 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
777do sistema.
6. O que São Números como 755 e 644?
Conclusão: São
rwxescritos como números. Somer=4,w=2,x=1e escreva três dígitos na ordem owner / group / other.
chmod 755 ou 644. O que são esses?rwx escritos como números — as mesmas permissões, só que expressas de forma abreviada com dígitos em vez de letras.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.rwx seria...?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 -lechmodem um terminal.
chmod, depois observe como o ls -l muda — o entendimento vem rápido.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
xnão pode ser executado.Permission deniedé o sinal para checar oxcomls -l.
echo 'echo "Hello, Penguin Gym"' > hello.sh
./hello.sh. Esse ./ na frente significa "este arquivo, aqui no diretório em que estou"../hello.sh... hum, ele me recusou../hello.sh
bash: ./hello.sh: Permission denied
ls -l.ls -l hello.sh
-rw-r--r-- 1 lina lina 32 Jun 6 10:20 hello.sh
rw-. Ah! Não tem x.x. Vamos adicionar com chmod u+x.chmod u+x hello.sh ./hello.sh
Hello, Penguin Gym
Permission denied, checo o x com ls -l primeiro.Exercícios Rápidos
Conclusão: Digite os comandos
ls -lechmoddeste guia e observe a saída mudar.
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 -lem trios e você consegue lê-los.
ls -l nesta ordem: tipo, eu, equipe, todos os demais.x: ele significa "executar" em um arquivo e "entrar" em um diretório.644 e 755 são somas de r=4, w=2, x=1.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.
- Permissões são uma grade 3 × 3 de "quem" × "o quê" - atribua
r/w/xaowner/group/other - Os primeiros 10 caracteres do
ls -lsão "tipo + owner + group + other" - leia três de cada vez;xem um diretório significa "entrar" - Modo numérico é a soma de
r=4,w=2,x=1- aprenda644(arquivo comum) e755(script ou diretório) primeiro