Em algum momento, quem usa Linux se depara com uma situação clássica: o arquivo está ali, o comando está certo, mas o sistema simplesmente responde com “Permissão negada”. Isso acontece muito quando você baixa um script, cria um arquivo manualmente ou copia algo de outro sistema. A boa notícia é que existe uma solução simples, poderosa e nativa do Linux para isso: o comando chmod.

Neste artigo você vai entender como dar permissão de execução no Linux com chmod, de forma clara, prática e definitiva. O conteúdo é pensado para iniciantes e também para quem já usa Linux, mas ainda se confunde com permissões. Aqui você aprende o que significa cada permissão, como aplicar corretamente e quais erros evitar no dia a dia.
O que é permissão de execução no Linux
No Linux, arquivos não são executáveis por padrão. Diferente de outros sistemas, não basta o arquivo existir ou ter uma extensão específica. Para que um arquivo seja executado, ele precisa ter permissão de execução.
Cada arquivo ou diretório no Linux possui três tipos principais de permissões:
- Leitura (read)
- Escrita (write)
- Execução (execute)
Essas permissões determinam o que cada usuário pode fazer com aquele arquivo. Quando falamos em execução, estamos dizendo que o sistema autoriza rodar aquele arquivo como um programa ou script.
Para que serve o comando chmod
O comando chmod significa literalmente change mode, ou seja, alterar o modo de acesso de um arquivo ou diretório. Ele é usado para modificar permissões no Linux de forma rápida e precisa.
Com o chmod, você pode:
- Dar permissão de execução a um arquivo
- Remover permissão de escrita
- Limitar acesso a outros usuários
- Ajustar permissões de scripts e programas
É um comando essencial para qualquer pessoa que trabalha com Linux.
Entendendo as permissões no Linux antes de usar chmod
Antes de sair aplicando comandos, é importante entender como o Linux organiza as permissões. Cada arquivo possui permissões para três grupos:
- Dono do arquivo (user)
- Grupo do arquivo (group)
- Outros usuários (others)
Cada grupo pode ter ou não permissão de:
- Ler (r)
- Escrever (w)
- Executar (x)
Quando você lista um arquivo usando ls -l, verá algo assim:
-rw-r–r–
Isso significa:
- Dono pode ler e escrever
- Grupo pode apenas ler
- Outros podem apenas ler
Quando aparece a letra x, significa permissão de execução.
Como dar permissão de execução no Linux com chmod (modo simples)
A forma mais comum e simples de dar permissão de execução é usando o símbolo +x.
Exemplo básico
Suponha que você tenha um arquivo chamado script.sh. Para torná-lo executável, use:
chmod +x script.sh
Depois disso, o arquivo passa a ter permissão de execução para todos os grupos, dependendo das permissões anteriores.
Esse é o comando mais usado no dia a dia, especialmente para scripts.
Executando o arquivo após dar permissão
Depois de aplicar o chmod, você pode executar o arquivo assim:
./script.sh
O ./ indica que o arquivo está no diretório atual. Sem isso, o Linux não encontra o arquivo para execução.
Esse detalhe confunde muita gente no começo, mas é totalmente normal.
Como dar permissão de execução apenas para o dono do arquivo
Em alguns casos, você não quer que qualquer usuário execute o arquivo. Quer liberar a execução apenas para você.
Para isso, use:
chmod u+x script.sh
Aqui:
- u significa user (dono)
- +x adiciona permissão de execução
Assim, somente o dono do arquivo poderá executá-lo.
Como dar permissão de execução para grupo ou outros usuários
Se o objetivo for liberar a execução para o grupo ou para todos, os comandos mudam um pouco.
Permitir execução para o grupo:
chmod g+x script.sh
Permitir execução para outros usuários:
chmod o+x script.sh
Permitir execução para todos:
chmod a+x script.sh
O a vem de all, ou seja, todos os grupos.
Como remover permissão de execução com chmod
Da mesma forma que você adiciona, também pode remover a permissão de execução.
Exemplo:
chmod -x script.sh
Ou apenas para o dono:
chmod u-x script.sh
Isso é útil quando um arquivo não deve mais ser executado por segurança.
Usando chmod com números (modo numérico)
Além do modo simbólico, existe o modo numérico, que é muito usado em servidores e scripts de automação.
Cada permissão tem um valor numérico:
- Leitura (r) = 4
- Escrita (w) = 2
- Execução (x) = 1
Você soma os valores para definir a permissão.
Exemplos comuns
- 7 = leitura + escrita + execução
- 6 = leitura + escrita
- 5 = leitura + execução
- 4 = somente leitura
Exemplo prático
Para dar permissão total ao dono e apenas leitura e execução aos outros:
chmod 755 script.sh
Isso significa:
- Dono: 7 (rwx)
- Grupo: 5 (r-x)
- Outros: 5 (r-x)
Esse é um padrão muito usado para scripts e programas.
Diferença entre chmod +x e chmod 755
Embora os dois possam tornar um arquivo executável, eles não fazem exatamente a mesma coisa.
- chmod +x adiciona execução sem alterar outras permissões
- chmod 755 redefine todas as permissões explicitamente
Se você quer apenas liberar a execução sem mexer no resto, o +x é mais seguro. Se quer padronizar permissões, o modo numérico é mais indicado.
Como verificar se o arquivo tem permissão de execução
Depois de usar o chmod, é sempre bom conferir.
Use:
ls -l script.sh
Se aparecer algo como:
-rwxr-xr-x
Significa que o arquivo agora é executável.
A letra x é o que você precisa observar.
Erros comuns ao usar chmod no Linux
Mesmo sendo simples, alguns erros são bem frequentes.
Esquecer o ./ ao executar
Muita gente dá permissão correta, mas tenta executar assim:
script.sh
E recebe erro. O correto é:
./script.sh
Dar permissão no diretório errado
Se você estiver em outro diretório, o chmod não vai funcionar corretamente. Use pwd para conferir onde está ou informe o caminho completo do arquivo.
Usar chmod sem necessidade
Nem todo arquivo precisa ser executável. Dar permissão de execução sem critério pode ser um risco de segurança, especialmente em servidores.
Dar permissão de execução em vários arquivos de uma vez
Se você tem vários scripts no mesmo diretório, pode fazer isso de uma vez só.
Exemplo:
chmod +x *.sh
Isso dá permissão de execução para todos os arquivos com extensão .sh.
É prático, mas deve ser usado com atenção.
Permissão de execução em diretórios
Diretórios também usam a permissão de execução, mas com outro significado. Quando um diretório tem permissão de execução, significa que ele pode ser acessado.
Por isso, é comum ver permissões como:
chmod 755 pasta
Sem essa permissão, você não consegue entrar no diretório, mesmo que tenha permissão de leitura.
Quando usar sudo junto com chmod
Se o arquivo não for seu ou estiver em um diretório protegido, o Linux vai impedir a alteração.
Nesse caso, use:
sudo chmod +x script.sh
O sudo permite executar o comando com privilégios administrativos.
Use com cuidado para não alterar permissões críticas do sistema.
Boas práticas ao dar permissão de execução no Linux
Algumas dicas simples evitam dor de cabeça:
- Dê permissão apenas quando necessário
- Evite usar chmod 777
- Prefira chmod +x para scripts simples
- Sempre confira com ls -l depois
- Não aplique permissões em massa sem revisar os arquivos
Essas práticas ajudam a manter o sistema seguro e organizado.
Saber como dar permissão de execução no Linux com chmod é um passo essencial para quem quer usar o sistema de forma eficiente. O comando é simples, mas extremamente poderoso, e entender como ele funciona evita erros, frustrações e problemas de segurança.
Com o uso correto do chmod, você passa a ter total controle sobre o que pode ou não ser executado no seu sistema. Seja para rodar scripts, instalar programas ou organizar arquivos, esse conhecimento faz toda a diferença no dia a dia com Linux.
Depois de dominar isso, o famoso “Permissão negada” deixa de ser um problema e passa a ser apenas um aviso fácil de resolver.