chmod e chown: como corrigir permissões Linux sem usar 777

Publicado em 2026-10-26 por frfrand

Permissões Unix usuários grupos e segurança de arquivos em servidores

chmod e chown: como corrigir permissões Linux sem usar 777

Um arquivo retorna «Permission denied» e alguém recomenda chmod 777. Pode fazer o erro desaparecer, mas também abre permissões desnecessárias. É melhor entender quem é o proprietário e qual usuário executa a aplicação.

Te mostro onde está o problema, como verificá-lo sem chutar e o que faria em uma aplicação que realmente tem usuários. Não é preciso decorar um manual inteiro para resolver uma falha específica.

O que chmod e chown significam na prática

chown altera o usuário ou grupo proprietário; chmod ajusta os bits de leitura, escrita e execução para proprietário, grupo e outros. As permissões de diretório determinam se é possível percorrer um caminho. Em alguns ambientes, ACL, montagem e políticas de segurança também intervêm.

Uma esclarecimento antes de acessar o servidor: se o projeto já está em produção, salve o estado que encontrou e verifique em qual usuário e máquina você vai executar os comandos. Trabalhar como root sem necessidade e mudar várias coisas de uma vez dificulta encontrar a causa de um erro.

Comandos úteis para começar

ls -ld /srv/miapp
ls -l /srv/miapp/config.json
id www-data
sudo chown -R deploy:deploy /srv/miapp
chmod 750 /srv/miapp
chmod 640 /srv/miapp/config.json
namei -l /srv/miapp/config.json

Os caminhos, nomes de unidades e domínios são exemplos. Adapte-os ao seu serviço. Se um comando exigir permissões de administrador, revise o que muda e por quê. As consultas de diagnóstico devem vir antes das modificações.

Passo a passo, com verificações

  1. Identifique com systemctl cat ou ps o usuário que executa o serviço.
  2. Revise o proprietário e as permissões de cada diretório do caminho, não apenas do arquivo final.
  3. Conceda o acesso mínimo necessário: leitura se apenas precisar ler, gravação em uma pasta específica se precisar gerar arquivos.
  4. Teste novamente como usuário do serviço, não como root.
  5. Documente as permissões para que a próxima implantação não as redefina incorretamente.

Após cada etapa, verifique um resultado observável: um status, um arquivo, uma resposta HTTP ou uma entrada de log. Se encontrar uma mensagem inesperada, salve-a para investigar em vez de ocultá-la com reinicializações repetidas.

Exemplo real: um aplicativo que precisa ser mantido

Um backend Django é executado como usuário webapp e precisa gravar fotos em /srv/miapp/media, mas o diretório pertence ao root. Corrija apenas a pasta de uploads; não torne todo o projeto gravável por qualquer usuário.

Por fim, teste o caminho completo: acesse pelo domínio, chame a API, grave um dado de teste e verifique se a informação permanece após uma reinicialização controlada. Um servidor que «inicia» nem sempre é um aplicativo que funciona.

Erros que vale a pena evitar

O exemplo de chown -R altera todos os elementos abaixo de um caminho: verifique o caminho antes de executar. Evite aplicar recursivamente a /, /etc ou bancos de dados gerenciados pelo sistema.

Também é importante que as credenciais não terminem no histórico do terminal, logs, arquivos compartidos ou capturas. Para usuários e serviços, use permissões mínimas e documente quem pode revogar o acesso.

Como o ArduMaker entra neste cenário

No ArduMaker, separe usuários de aplicação e de administração. A segurança do VPS inclui permissões de arquivos e serviços, não apenas firewall e senha.

O ArduMaker pode ajudar a administrar os VPS, implantar repositórios e trabalhar com serviços, bancos de dados e domínios na mesma plataforma. Não substitui o que acabamos de explicar sobre o Linux: precisamente por isso convém entender o diagnóstico e ter uma forma de repeti-lo.

Quando convém automatizá-lo

Se a tarefa se repete, documente primeiro o procedimento manual e suas verificações. Depois considere um script ou uma tarefa agendada com erros visíveis, logs e permissões limitadas. Não automatize um comando que você ainda não sabe recuperar quando dá errado.

Perguntas frequentes

Posso testar sem afetar clientes? Em muitos casos, sim: um VPS de staging ou um serviço de teste separado permite validar a configuração antes de alterar a produção.

Como saber se ficou certo? Veja os logs e uma operação funcional, não apenas se o comando terminou com código zero.

Quando preciso de mais recursos? Quando as métricas indicarem saturação de CPU, RAM, disco ou conexões. Uma falha de configuração raramente se resolve contratando mais memória.

Referências

Em uma frase: primeiro entenda o erro, depois mude uma coisa concreta e comprove seu efeito. Essa disciplina te economiza muitas horas de suporte.

  • Linux
  • Tutorial
  • ArduMaker

Continuar lendo

Todos os artigos · Planos VPS