.## 1. Introdução
- 0.1 2. O que é chmod? (Entendimento Básico)
- 0.2 3. Entendendo o Significado de -rw-r–r–
- 0.3 4. Como definir -rw-r–r– usando chmod (Guia prático)
- 0.4 5. Verificando permissões com o comando ls -l
- 0.5 6. Verificando e Alterando Permissões Usando Ferramentas GUI (Amigável para Iniciantes)
- 0.6 7. Notas Importantes e Solução de Problemas para chmod
- 1 Apply execute permissions to directories
- 2 Apply file permissions
O que são “Permissões de Acesso” no Linux?
Em sistemas Linux e semelhantes a Unix, gerenciar corretamente as permissões de acesso a arquivos e diretórios é extremamente importante. Isso é essencial não apenas do ponto de vista da segurança, mas também para manter operações estáveis do sistema.
Muitas pessoas provavelmente já se perguntaram o que símbolos como -rw-r--r-- significam ao visualizar listas de arquivos no terminal.
A Relação entre chmod e -rw-r–r–
Esses símbolos representam as permissões de acesso a arquivos usando notação simbólica. O comando chmod é usado para definir e modificar essas permissões. Em outras palavras, quando você usa chmod para atribuir permissões específicas a um arquivo, o resultado é exibido como símbolos como -rw-r--r--.
Propósito deste Artigo e Público‑Alvo
Este artigo explica o que -rw-r--r-- realmente significa e como defini‑lo ou alterá‑lo usando chmod, de forma que seja fácil de entender para iniciantes. Também abordamos considerações de segurança e exemplos práticos de uso no mundo real.
O conteúdo é destinado a todos, desde iniciantes em Linux até usuários intermediários que estão se familiarizando com operações no terminal, com o objetivo de fornecer conhecimento prático utilizável em ambientes de trabalho reais.
2. O que é chmod? (Entendimento Básico)
O Papel do Comando chmod
chmod (pronuncia‑se “change mode”) é um comando usado em sistemas operacionais Linux e semelhantes a Unix para modificar as permissões de acesso a arquivos e diretórios.
Usar este comando permite controlar de forma flexível quem pode executar quais operações (leitura, escrita, execução).
Configurações adequadas de permissão são cruciais não apenas para segurança, mas também para evitar problemas de compartilhamento e execução de arquivos.
Sintaxe Básica do chmod
chmod [options] [permissions] filename
Por exemplo:
chmod 644 sample.txt
Este comando altera as permissões de sample.txt da seguinte forma:
-rw-r--r-- 1 user group 1234 Apr 13 20:00 sample.txt
- Proprietário (usuário): leitura e escrita permitidas (rw-)
- Grupo: somente leitura (r–)
- Outros: somente leitura (r–)
Duas Formas de Especificar Permissões
Existem dois métodos para especificar permissões com chmod:
- Modo numérico
- Exemplo:
chmod 755 script.sh - Este método atribui permissões usando números.
- Modo simbólico
- Exemplo:
chmod u=rw,g=r,o=r file.txt - Este método usa símbolos como u (usuário), g (grupo), o (outros) e r/w/x.
Ambos os métodos produzem o mesmo resultado. O modo numérico é rápido para alterações em massa, enquanto o modo simbólico permite um controle mais flexível.
Diferença entre chmod e chown
Um comando frequentemente confundido é o chown:
chmod: altera permissões de acessochown: altera o proprietário e o grupo do arquivo
Como seus propósitos diferem, é importante compreender claramente o papel de cada comando.
3. Entendendo o Significado de -rw-r–r–
Estrutura dos Símbolos de Permissão
Ao executar ls -l no Linux, as informações do arquivo são exibidas no seguinte formato:
-rw-r--r-- 1 user group 1234 Apr 13 2025 sample.txt
A parte mais à esquerda, -rw-r--r--, representa as permissões de acesso do arquivo. Entender isso permite saber exatamente quem pode fazer o quê com o arquivo.
Detalhamento de Cada Parte
① Primeiro caractere: tipo de arquivo
| Symbol | Meaning |
|---|---|
- | Regular file |
d | Directory |
l | Symbolic link |
b | Block device |
c | Character device |
No caso de -rw-r--r--, o caractere inicial - indica um arquivo regular.
② Caracteres 2–10: permissões (3 caracteres × 3 conjuntos)
- Proprietário (usuário) :
rw-Leitura e escrita são permitidas; execução não. - Grupo :
r--Somente leitura. - Outros :
r--Somente leitura.
Isso significa que apenas o proprietário pode editar o arquivo, enquanto todos os demais podem apenas visualizá‑lo.
Representação Numérica: O que Significa 644
As permissões do Linux também podem ser expressas usando notação numérica (octal).
O equivalente numérico de -rw-r--r-- é 644.
| User Type | Symbolic | Number | Meaning |
|---|---|---|---|
| Owner | rw- | 6 | Read + Write |
| Group | r-- | 4 | Read only |
| Others | r-- | 4 | Read only |
Os valores numéricos são calculados da seguinte forma:
- Leitura (r) = 4
- Escrita (w) = 2
- Execução (x) = 1
Assim, rw- = 4 + 2 = 6, e cada r-- = 4, resultando em 644.
Por que essa permissão é comumente usada
-rw-r--r-- (644) é uma permissão muito comum para arquivos públicos e conteúdo estático de servidores web, como HTML e CSS.
- Apenas o proprietário pode modificar o arquivo, evitando alterações não intencionais
- Outros usuários podem ler o arquivo, permitindo compartilhamento e acesso público
Quando usada corretamente, essa configuração equilibra segurança e usabilidade.
4. Como definir -rw-r–r– usando chmod (Guia prático)
Alterando permissões com o comando chmod
As permissões de acesso a arquivos e diretórios podem ser alteradas livremente usando o comando chmod. Por exemplo, se você quiser definir permissões para -rw-r--r--, basta aplicar a permissão 644.
Definindo permissões usando o modo numérico
Use a sintaxe chmod 644 nome_do_arquivo.
chmod 644 document.txt
Esse comando altera as permissões de document.txt da seguinte forma:
-rw-r--r-- 1 user group 1234 Apr 13 20:00 document.txt
- Proprietário (usuário): leitura e escrita permitidas (rw-)
- Grupo: somente leitura (r–)
- Outros: somente leitura (r–)
Definindo permissões usando o modo simbólico
Se precisar de um controle mais flexível, o modo simbólico é útil.
chmod u=rw,g=r,o=r document.txt
Esse comando significa:
u=rw: concede permissões de leitura e escrita ao proprietáriog=r: concede permissão de leitura ao grupoo=r: concede permissão de leitura aos outros
O resultado é exatamente o mesmo que usar o modo numérico 644.
Observações importantes ao aplicar permissões a diretórios
Ao contrário de arquivos, diretórios exigem permissão de execução (x) para serem acessíveis.
Por exemplo, a configuração a seguir pode restringir o acesso:
chmod 644 my_folder
Com essa configuração, a permissão de leitura é concedida, mas os usuários não podem entrar no diretório porque falta a permissão de execução.
Exemplo correto:
chmod 755 my_folder
- Proprietário: leitura, escrita e execução
- Grupo e outros: leitura e execução
Isso permite que outros usuários listem e acessem os arquivos dentro do diretório.
Alterando permissões recursivamente: a opção -R
Se quiser mudar permissões de muitos arquivos e subdiretórios de uma vez, use a opção -R (recursiva).
chmod -R 644 my_folder
Isso aplica a permissão 644 a todos os arquivos dentro de my_folder. Contudo, essa abordagem traz caveats importantes.
5. Verificando permissões com o comando ls -l
Como visualizar permissões de arquivos
Para checar permissões de arquivos e diretórios no Linux, use o comando padrão ls -l. Ele exibe informações detalhadas como permissões, proprietário, tamanho do arquivo e data da última modificação.
Uso básico
ls -l
A saída se parece com isto:
-rw-r--r-- 1 naoya devs 2048 Apr 13 20:00 index.html
Cada coluna tem o seguinte significado:
| Field | Description |
|---|---|
-rw-r--r-- | Permissions |
1 | Number of hard links |
naoya | Owner (user) |
devs | Group |
2048 | File size (bytes) |
Apr 13 20:00 | Last modified date |
index.html | File name |
Como ler o campo de permissões
Concentre‑se na parte -rw-r--r--. Ela pode ser dividida da seguinte forma:
- Primeiro caractere: tipo de arquivo
-: arquivo regulard: diretóriol: link simbólico- Os nove caracteres restantes: permissões (3 × 3 conjuntos)
- Proprietário:
rw-→ leitura e escrita - Grupo:
r--→ somente leitura - Outros:
r--→ somente leitura
Isso indica que apenas o proprietário pode editar o arquivo, enquanto os demais apenas podem lê‑lo.
Verificando um arquivo específico
Para checar permissões de um arquivo específico, indique o nome do arquivo:
ls -l index.html
Isso é útil ao trabalhar em diretórios que contêm muitos arquivos.
Verificando permissões de diretórios
Diretórios também podem ser verificados usando ls -l. Para visualizar o próprio diretório em vez de seu conteúdo, use a opção -d.
ls -ld my_folder
Isso exibe informações de permissão apenas para my_folder.
Gerenciamento seguro de permissões
Depois de modificar permissões com chmod, recomenda‑se sempre verificar o resultado usando ls -l.
Configurações incorretas podem levar a problemas de segurança ou comportamentos inesperados.
Você também pode combiná-lo com pipes para filtragem:
ls -l | grep '.sh'
Isso filtra e exibe apenas arquivos de script shell.
6. Verificando e Alterando Permissões Usando Ferramentas GUI (Amigável para Iniciantes)
Uma Opção para Aqueles Desconfortáveis com a Linha de Comando
O Linux é frequentemente operado via terminal e linha de comando, mas muitos iniciantes acham que interfaces baseadas em texto são difíceis ou propensas a erros.
Para tais usuários, as permissões de arquivo também podem ser verificadas e modificadas usando ferramentas GUI (Interface Gráfica do Usuário).
Usando o Gerenciador de Arquivos do Ubuntu (Nautilus)
Distribuições Linux como o Ubuntu incluem um gerenciador de arquivos padrão chamado Nautilus, semelhante ao Explorador do Windows.
Como verificar permissões:
- Clique com o botão direito no arquivo ou diretório de destino
- Selecione “Propriedades”
- Abra a aba “Permissões” (o rótulo pode variar conforme a versão)
O que você pode fazer lá:
- Visualizar e alterar o proprietário e o grupo (privilégios de administrador necessários)
- Alternar permissões de leitura, escrita e execução
- As alterações são aplicadas imediatamente
Em vez de notações simbólicas como rw- ou r--, as permissões são exibidas em descrições em linguagem simples como “Somente leitura” ou “Leitura e escrita”, tornando-as fáceis de entender para iniciantes.
WinSCP (Cliente SFTP para Usuários do Windows)
Ao conectar do Windows a um servidor Linux remoto, o WinSCP permite o gerenciamento de permissões por meio de uma GUI.
Passos:
- Faça login no servidor usando o WinSCP
- Clique com o botão direito em um arquivo e selecione “Propriedades”
- Altere os valores de permissão (ex.: 644) ou use caixas de seleção
- Clique em “OK” para aplicar as alterações
Vantagens:
- As permissões podem ser visualizadas em formatos numérico e simbólico
- Alterações recursivas de permissões são suportadas via GUI
Notas:
- Arquivos que exigem privilégios de root podem não ser modificáveis sem permissões sudo
WinSCP is a popular free file manager for Windows supporting…

FileZilla (Cliente SFTP Multiplataforma)
O cliente SFTP multiplataforma FileZilla, disponível para macOS e Linux, também permite alterações de permissões.
Passos:
- Conecte-se ao servidor
- Clique com o botão direito no arquivo de destino
- Selecione “Permissões do Arquivo”
- Ajuste as permissões usando caixas de seleção ou valores numéricos e clique em “OK”
Vantagens e Ressalvas das Operações Baseadas em GUI
Vantagens:
- Menos propensas a erros para iniciantes
- As alterações podem ser confirmadas visualmente imediatamente
- Não é necessário memorizar a sintaxe de comandos
Ressalvas:
- Alguns ambientes de servidor não permitem alterações de permissões via ferramentas GUI
- Os valores exibidos podem não refletir sempre as permissões aplicadas na prática, por isso a verificação com
ls -lé recomendada
FileZilla - The free FTP solution for both client and server…
7. Notas Importantes e Solução de Problemas para chmod
Ainda Não Funciona—Por Quê?
Mesmo após alterar as permissões usando chmod, os arquivos podem não se comportar como esperado. Na maioria dos casos, isso se deve a permissões mal configuradas ou mal-entendidos.
A seguir, estão problemas comuns do mundo real e suas soluções.
Erros de “Permission denied”
Sintoma:
bash: ./script.sh: Permission denied
Causa:
- O arquivo não tem permissão de execução (x)
Solução:
chmod +x script.sh
Ou usando o modo numérico:
chmod 755 script.sh
Observe que ter permissão de leitura ou escrita não implica permissão de execução.
Diretórios Sem Permissão de Execução Não Podem Ser Acessados
Aplicar chmod 644 a um diretório pode impedir o acesso ao seu conteúdo.
Razão:
- A permissão de execução (x) em diretórios é necessária para entrar e listar seu conteúdo.
Exemplo:
chmod 644 my_folder
ls my_folder
Isso pode resultar em um erro.
Correção:
chmod 755 my_folder
Armadilhas das Alterações Recursivas (-R)
Embora o chmod -R seja conveniente, ele aplica as mesmas permissões a arquivos e diretórios, o que pode causar problemas inesperados.
Erro comum:
chmod -R 644 /var/www/html
Isso remove as permissões de execução de diretórios, tornando-os inacessíveis.
Abordagem correta:
produce final.“`
Apply execute permissions to directories
find /var/www/html -type d -exec chmod 755 {} \;
Apply file permissions
find /var/www/html -type f -exec chmod 644 {} \;
### Proprietário e Grupo Incompatíveis
Permissões sozinhas não são suficientes; a propriedade do arquivo e as configurações de grupo também importam.
Por exemplo, se um usuário de servidor web como `apache` precisar ler um arquivo, mas o proprietário for um usuário comum e os demais não tiverem permissão de leitura, o arquivo não será servido corretamente.
**Soluções:**
* Alterar proprietário: `sudo chown www-data:www-data index.html`
* Conceder acesso ao grupo: `chmod 640 index.html` (se o grupo for adequado)
### Por que chmod 777 é perigoso
Alguns usuários tentam resolver problemas definindo permissões para `777`, mas isso é **extremamente perigoso**.
**Razões:**
* Qualquer pessoa pode ler, escrever e executar o arquivo
* Alto risco de adulteração ou execução de scripts maliciosos
**Melhores práticas recomendadas:**
* **Arquivos** : 644 ou 600
* **Diretórios** : 755 ou 700
* **Scripts/Binários** : 755 (conforme necessário)
## 8. Casos de Uso Práticos e Cenários Comuns
### Como as permissões chmod são usadas em ambientes reais?
O comando `chmod` e permissões como `-rw-r--r--` são **frequentemente usados em operações de servidores reais e ambientes de desenvolvimento**.
A seguir, alguns cenários representativos que ilustram como as permissões são aplicadas na prática.
### 1. Gerenciando arquivos HTML em um servidor web
**Cenário:**
Ao publicar arquivos HTML em um servidor web como Apache ou Nginx, a permissão típica é `-rw-r--r--` (644).
chmod 644 index.html
**Por que 644?**
* O proprietário (administrador do site) precisa de acesso de escrita
* O usuário do servidor web (ex.: www-data) só precisa de acesso de leitura
* A escrita para outros é desnecessária e insegura
Essa configuração permite **publicação segura de conteúdo web usando o princípio do menor privilégio**.
### 2. Concedendo permissão de execução a arquivos de script
**Cenário:**
Você criou um script shell `backup.sh`, mas a execução falha com o erro “Permission denied”.
chmod 755 backup.sh
**Significado desta configuração:**
* Proprietário: leitura, escrita, execução (rwx)
* Grupo e outros: leitura e execução (rx)
Isso permite que outros executem o script enquanto restringe a edição ao proprietário.
### 3. Restrição de acesso a arquivos sensíveis
**Cenário:**
Você gerencia um arquivo `secrets.txt` contendo chaves de API ou senhas e deseja impedir que qualquer outra pessoa o acesse.
chmod 600 secrets.txt
**Significado:**
* Proprietário: apenas leitura e escrita
* Grupo e outros: sem acesso
Esta é uma **prática crítica de segurança**. Arquivos sensíveis devem sempre ser gerenciados com `600` ou `400` (somente leitura).
### 4. Compartilhamento seguro de um diretório
**Cenário:**
Você cria um diretório compartilhado `shared_folder` acessado por vários desenvolvedores.
chmod 770 shared_folder
**Significado:**
* Proprietário e grupo: permissões completas (rwx)
* Outros: sem acesso
Ao atribuir a equipe de desenvolvimento como grupo, você possibilita **colaboração segura e eficiente**. A associação ao grupo pode ser ajustada usando `chgrp`.
### 5. Evitando problemas causados por má configuração
**Cenário:**
Você executa acidentalmente `chmod -R 777 .`, tornando todos os arquivos graváveis por qualquer pessoa.
**Precauções recomendadas:**
* Sempre use `find` para diferenciar entre arquivos e diretórios
* Verifique as permissões previamente com `ls -l`
* Teste as alterações em um ambiente de teste primeiro
## 9. Perguntas Frequentes (FAQ)
### Q1. Qual a diferença entre `chmod 644` e `-rw-r--r--`?
**R. Eles representam a mesma permissão; apenas a notação difere.**
* `chmod 644` : especificação numérica de permissão
* `-rw-r--r--` : representação simbólica mostrada por `ls -l`
### Q2. O que acontece se um arquivo não tem permissão de execução?
**R. A execução de scripts ou binários falhará.**
bash: ./script.sh: Permission denied
**Correção:**
chmod +x script.sh
### Q3. É seguro definir `644` em diretórios?
**A. Geralmente, não.**
Diretórios requerem **permissão de execução (x)** para serem acessíveis.
**Configuração correta:**
chmod 755 directory_name
### Q4. Há algum risco ao usar `chmod -R`?
**A. Sim. As mesmas permissões são aplicadas tanto a arquivos quanto a diretórios.**
chmod -R 644 my_project/
Isso remove as permissões de execução dos diretórios.
**Abordagem mais segura:**
find my_project/ -type d -exec chmod 755 {} \; find my_project/ -type f -exec chmod 644 {} \;
### Q5. Eu continuo recebendo “Permission denied.” O que devo verificar?
**A. Verifique o seguinte:**
* O arquivo tem permissão de execução se ele está sendo executado
* Você é o proprietário ou tem permissão de escrita
* O diretório tem permissão de execução
* Você tem privilégios sudo se necessário
### Q6. Eu quero compartilhar um arquivo, mas impedir a edição. O que devo fazer?
**A. Use as permissões `644` ou `444`.**
chmod 644 share.txt
* 644: outros podem apenas ler
* 444: todos têm acesso apenas de leitura
### Q7. Eu acidentalmente alterei as permissões. Como posso restaurá-las?
**A. Compare com um arquivo configurado corretamente.**
ls -l /path/to/correct_file “`
Reaplique as permissões usando chmod. Idealmente, documente as permissões padrão para o seu projeto.
10. Resumo
Por Que Entender chmod e Permissões Importa
Este artigo explicou o comando chmod e o significado das permissões simbólicas como -rw-r--r--, que são amplamente usadas em sistemas Linux e semelhantes ao Unix.
Esses conceitos são essenciais para garantir segurança do sistema, estabilidade operacional e compartilhamento preciso de arquivos.
Principais Pontos
chmodmodifica as permissões de acesso a arquivos e diretórios-rw-r--r--significa que o proprietário pode ler e escrever, outros podem apenas ler- Representações numéricas (
644) e simbólicas (-rw-r--r--) são equivalentes - Permissões podem ser definidas usando modos numéricos ou simbólicos
ls -lé usado para verificar permissões- Ferramentas GUI como Nautilus, WinSCP e FileZilla também podem gerenciar permissões
- Permissões incorretas frequentemente causam erros de “Permission denied”
- Sempre há uma razão por trás dos padrões de permissão comumente usados
A “Melhor” Permissão Depende do Contexto
Não há uma configuração de permissão universal que se adeque a todos os casos.
As permissões devem sempre ser escolhidas com base no propósito, usuários e nível de segurança requerido.
Conselho Final
Embora as permissões possam parecer complexas no início, dominar o chmod permite que você previna problemas proativamente e opere sistemas de forma segura.
Sempre pergunte a si mesmo:
Quem deve acessar este arquivo, e para qual propósito?
Manter essa perspectiva ajudará você a construir ambientes Linux seguros e confiáveis.





