As permissões de arquivos no Linux definem quem pode ler, alterar ou executar arquivos e diretórios. Para administrá-las, os comandos mais usados são chmod, para alterar permissões; chown, para mudar o proprietário; e chgrp, para mudar o grupo associado ao arquivo ou diretório.

Entender essas permissões é essencial para trabalhar com segurança em servidores, aplicações, scripts, compartilhamentos e ambientes de infraestrutura.

Resposta rápida: use chmod para controlar permissões de leitura, escrita e execução; use chown para alterar o usuário proprietário; e use chgrp para modificar o grupo proprietário. Antes de mudar qualquer configuração, verifique a situação atual com ls -l.

O que são permissões no Linux?

O Linux é um sistema multiusuário. Isso significa que várias pessoas e processos podem usar o mesmo sistema, mas nem todos devem ter o mesmo nível de acesso aos arquivos.

As permissões servem para definir quem pode:

  • Ler o conteúdo de um arquivo.

  • Alterar ou excluir um arquivo.

  • Executar um script ou programa.

  • Entrar em um diretório.

  • Criar, remover ou modificar itens dentro de um diretório.

Cada arquivo ou diretório possui permissões associadas a três níveis:

  1. Proprietário: usuário dono do arquivo.
  2. Grupo: grupo associado ao arquivo.
  3. Outros: todos os demais usuários do sistema.

A documentação do Ubuntu resume os comandos principais assim: chmod altera permissões; chown muda usuário e grupo proprietários; e chgrp muda apenas o grupo.

Como verificar permissões de arquivos

Use o comando abaixo para listar os arquivos e visualizar permissões, proprietário e grupo:

bash

ls -l

Exemplo de saída:

bash

-rw-r--r-- 1 monte-de-dados linux 1250 set 11 14:00 relatorio.txt

Vamos dividir essa informação.

ParteSignificado
-Tipo do item: - indica arquivo; d indica diretório
rw-Permissões do proprietário
r--Permissões do grupo
r--Permissões de outros usuários
monte-de-dadosUsuário proprietário
linuxGrupo proprietário
relatorio.txtNome do arquivo

Nesse exemplo:

  • O usuário monte-de-dados pode ler e alterar o arquivo.

  • Usuários do grupo linux podem apenas ler.

  • Outros usuários também podem apenas ler.

O que significam r, w e x?

As permissões mais comuns são representadas por letras.

LetraNomeEm arquivosEm diretórios
rRead / leituraPermite ler o conteúdoPermite listar os itens do diretório
wWrite / escritaPermite alterar o conteúdoPermite criar, renomear ou excluir itens, conforme o restante das permissões
xExecute / execuçãoPermite executar scripts e programasPermite acessar ou entrar no diretório com cd

Exemplo prático

Imagine um script chamado backup.sh.

bash

-rw-r--r-- 1 monte-de-dados linux 560 set 11 14:00 backup.sh

Nesse caso, o arquivo pode ser lido e editado pelo proprietário, mas não pode ser executado, porque não possui x.

Para permitir a execução pelo proprietário, use:

bash

chmod u+x backup.sh

Depois, a permissão ficará parecida com:

bash

-rwxr--r-- 1 monte-de-dados linux 560 set 11 14:00 backup.sh

Como usar chmod no Linux

O comando chmod altera as permissões de arquivos e diretórios.

A sintaxe geral é:

bash

chmod [opções] permissões arquivo-ou-diretório

Existem duas formas comuns de trabalhar com chmod:

  • Notação simbólica: mais legível para iniciantes.

  • Notação numérica: comum em scripts, servidores e documentação técnica.

Como usar chmod com notação simbólica

Na notação simbólica, você informa:

  • Quem receberá ou perderá a permissão.

  • Qual ação será feita.

  • Qual permissão será alterada.

Identificadores de usuário

LetraRepresenta
uUsuário proprietário
gGrupo proprietário
oOutros usuários
aTodos: usuário, grupo e outros

Operadores

SímboloAção
+Adiciona uma permissão
-Remove uma permissão
=Define exatamente as permissões informadas

Permissões

LetraPermissão
rLeitura
wEscrita
xExecução

Adicionar permissão de execução

Para permitir que o proprietário execute um script:

bash

chmod u+x backup.sh

Remover escrita do grupo

Para impedir que membros do grupo linux alterem um arquivo:

bash

chmod g-w relatorio.txt

Dar leitura para outros usuários

bash

chmod o+r relatorio.txt

Definir permissões exatas

Para definir leitura e escrita para o proprietário e leitura apenas para grupo e outros:

bash

chmod u=rw,g=r,o=r relatorio.txt

A documentação da Red Hat apresenta essa lógica como:

bash

chmod <nível><operação><permissão> nome-do-arquivo

Em que o nível representa proprietário, grupo ou outros; a operação adiciona, remove ou define permissões; e a permissão é leitura, escrita ou execução.

Como usar chmod com números

A notação numérica é baseada em valores para cada permissão:

PermissãoValor
Leitura (r)4
Escrita (w)2
Execução (x)1

Os valores são somados para representar as permissões de proprietário, grupo e outros.

Valores mais comuns

ValorPermissão
0Nenhuma permissão
1Execução
2Escrita
3Escrita + execução
4Leitura
5Leitura + execução
6Leitura + escrita
7Leitura + escrita + execução

Como ler chmod 644

bash

chmod 644 relatorio.txt

GrupoCálculoPermissão
Proprietário4 + 2 = 6rw-
Grupo4r--
Outros4r--

Resultado:

bash

-rw-r--r-- 1 monte-de-dados linux 1250 set 11 14:00 relatorio.txt

Esse é um padrão comum para arquivos de texto e configurações que podem ser editados pelo proprietário, mas apenas lidos por grupo e outros usuários.

Como ler chmod 755

bash

chmod 755 backup.sh

GrupoCálculoPermissão
Proprietário4 + 2 + 1 = 7rwx
Grupo4 + 1 = 5r-x
Outros4 + 1 = 5r-x

Resultado:

bash

-rwxr-xr-x 1 monte-de-dados linux 560 set 11 14:00 backup.sh

Esse modo é frequentemente usado para scripts e diretórios que precisam ser acessados por outros usuários, mas alterados apenas pelo proprietário.

Quando usar 644, 755 e 700

PermissãoUso comum
644Arquivos que o proprietário pode editar e outros podem ler
600Arquivos sensíveis acessíveis apenas ao proprietário
700Scripts ou diretórios privados do proprietário
755Diretórios e scripts que outros podem acessar/executar, sem poder editar
750Arquivos ou diretórios acessíveis ao proprietário e grupo, não a outros
640Arquivos lidos pelo proprietário e grupo, sem acesso para outros

Os valores adequados variam conforme o objetivo, o usuário que executa o serviço e a política de segurança do ambiente. Não existe uma permissão universal para todos os arquivos.

Como usar chown no Linux

O comando chown altera o proprietário de um arquivo ou diretório.

A sintaxe é:

bash

chown novo_usuario arquivo

Exemplo:

bash

sudo chown monte-de-dados relatorio.txt

Esse comando torna monte-de-dados o proprietário de relatorio.txt.

Alterar usuário e grupo ao mesmo tempo

Você pode alterar proprietário e grupo com a sintaxe:

bash

sudo chown usuario:grupo arquivo

Exemplo:

bash

sudo chown monte-de-dados:linux relatorio.txt

Após o comando, monte-de-dados será o usuário proprietário e linux será o grupo associado.

A referência da Ubuntu para linha de comando apresenta esse formato como chown <usuário>:<grupo> <arquivo>.

Alterar proprietário de forma recursiva

Para aplicar uma alteração a todos os arquivos e subdiretórios de uma pasta:

bash

sudo chown -R monte-de-dados:linux /srv/projeto

Use -R com cuidado. Em um diretório grande ou crítico, essa opção pode alterar proprietários de muitos arquivos de uma só vez.

Atenção: antes de usar chown -R, confirme o caminho informado. Um diretório errado pode alterar proprietários de arquivos importantes do sistema ou de aplicações em produção.

Como usar chgrp no Linux

O comando chgrp altera apenas o grupo associado a um arquivo ou diretório.

A sintaxe é:

bash

chgrp novo_grupo arquivo

Exemplo:

bash

sudo chgrp linux relatorio.txt

Nesse caso, o proprietário do arquivo continua o mesmo, mas o grupo passa a ser linux.

Alterar grupo de um diretório e seu conteúdo

bash

sudo chgrp -R linux /srv/projeto

Esse comando pode ser útil quando uma equipe precisa compartilhar acesso a um diretório. A documentação da Red Hat mostra o uso de chgrp <nome-do-grupo> <diretório> como parte de uma configuração de acesso por grupo.

Diferença entre chmod, chown e chgrp

ComandoO que alteraExemplo
chmodPermissões de leitura, escrita e execuçãochmod 644 relatorio.txt
chownUsuário proprietário e, opcionalmente, grupochown monte-de-dados:linux relatorio.txt
chgrpApenas o grupo proprietáriochgrp linux relatorio.txt

Uma forma simples de memorizar:

  • chmod: muda o que pode ser feito.

  • chown: muda quem é o dono.

  • chgrp: muda qual grupo está associado.

Permissões em arquivos e diretórios: qual é a diferença?

As mesmas letras aparecem nos dois cenários, mas o efeito muda.

Em arquivos

  • r: permite ler o conteúdo.

  • w: permite modificar o conteúdo.

  • x: permite executar como programa ou script.

Em diretórios

  • r: permite listar o conteúdo.

  • w: permite criar, remover e renomear itens.

  • x: permite acessar o diretório e entrar nele usando cd.

Exemplo com diretório

bash

chmod 755 /srv/projeto

Nesse caso:

  • Proprietário: pode listar, criar, remover e acessar itens.

  • Grupo: pode listar e acessar.

  • Outros: podem listar e acessar.

Para ambientes compartilhados, talvez seja necessário permitir escrita ao grupo, em vez de liberar acesso a todos.

Exemplo:

bash

chmod 770 /srv/projeto

Isso concede leitura, escrita e execução ao proprietário e ao grupo linux, sem acesso para outros usuários.

Como criar um diretório compartilhado por grupo

Um caso comum em administração Linux é criar uma pasta compartilhada entre membros de uma equipe.

1. Criar ou definir o grupo

Exemplo de grupo:

bash

sudo groupadd linux

2. Adicionar um usuário ao grupo

bash

sudo usermod --append -G linux monte-de-dados

O usuário precisará iniciar uma nova sessão para que a alteração de grupo seja aplicada.

3. Definir o grupo do diretório

bash

sudo chgrp linux /srv/projeto

4. Liberar acesso ao proprietário e grupo

bash

sudo chmod 770 /srv/projeto

5. Fazer novos arquivos herdarem o grupo

bash

sudo chmod g+s /srv/projeto

Ou, em uma única configuração:

bash

sudo chmod 2770 /srv/projeto

O primeiro 2 ativa o bit setgid no diretório. Assim, novos arquivos e subdiretórios criados dentro dele tendem a herdar o grupo do diretório, o que facilita a colaboração controlada. A Red Hat documenta uma abordagem semelhante usando chgrp para associar o grupo ao diretório e chmod g+rwxs para conceder ao grupo permissões de leitura, escrita e execução, além do setgid.

Atenção: em diretórios compartilhados, também pode ser necessário configurar a umask, ACLs ou políticas específicas para garantir que os novos arquivos recebam as permissões esperadas. Teste sempre em um ambiente controlado antes de aplicar em produção.

O que significa chmod 777?

O comando abaixo concede leitura, escrita e execução para proprietário, grupo e outros usuários:

bash

chmod 777 arquivo-ou-diretorio

Em termos práticos, qualquer usuário local com acesso ao sistema pode alterar ou executar o conteúdo, dependendo do tipo de item.

Por esse motivo, 777 não deve ser usado como solução padrão para mensagens de “Permission denied”.

Em vez disso, investigue:

  • Quem deve ser o proprietário correto?

  • Qual grupo precisa acessar o arquivo?

  • Quais permissões são realmente necessárias?

  • O item é arquivo ou diretório?

  • O processo que acessa o arquivo roda com qual usuário?

  • É possível conceder acesso ao grupo, em vez de abrir para todos?

Na maior parte dos cenários, uma combinação de proprietário, grupo e permissões restritas resolve o problema de forma mais segura.

Erros comuns ao trabalhar com permissões

Usar sudo sem entender o impacto

sudo executa comandos com privilégios elevados. Um comando incorreto pode alterar arquivos sensíveis ou afetar serviços.

Antes de executar, confira o caminho e a sintaxe.

Aplicar chmod -R 777

Além de conceder permissões excessivas, a alteração recursiva pode afetar arquivos de configuração, scripts, chaves e dados internos de uma aplicação.

Alterar permissões de arquivos em produção sem validação

Mudanças em arquivos de aplicações, servidores web, bancos de dados ou serviços podem interromper acessos e causar indisponibilidade.

Sempre considere:

  • Ambiente de teste.

  • Backup ou ponto de restauração.

  • Proprietário original.

  • Permissões originais.

  • Plano de reversão.

Confundir proprietário com grupo

Mudar o proprietário não é o mesmo que mudar o grupo.

bash

sudo chown monte-de-dados relatorio.txt

Altera o usuário proprietário.

bash

sudo chgrp linux relatorio.txt

Altera apenas o grupo.

bash

sudo chown monte-de-dados:linux relatorio.txt

Altera os dois.

Tentar usar chmod e chown em sistemas de arquivos não compatíveis

Em unidades formatadas com NTFS, FAT32 ou exFAT, o comportamento de permissões pode ser diferente do esperado. O Ubuntu alerta que comandos como chmod e chown não funcionam da mesma maneira em sistemas de arquivos do Windows, pois o controle de permissões pode depender das opções de montagem.

Checklist antes de alterar permissões

Antes de executar chmod, chown ou chgrp, responda:

  • Estou no diretório correto?

  • O arquivo ou diretório é realmente o alvo da alteração?

  • Quem precisa acessar esse item?

  • Essa pessoa precisa ler, escrever ou executar?

  • A permissão deve valer para proprietário, grupo ou outros?

  • A mudança precisa ser recursiva?

  • O ambiente é de testes ou produção?

  • Tenho como reverter a alteração se necessário?

  • Existe uma alternativa mais restrita e segura?

Resumo dos comandos

ObjetivoComando
Ver permissõesls -l
Dar execução ao proprietáriochmod u+x backup.sh
Remover escrita do grupochmod g-w relatorio.txt
Definir permissões de arquivo comumchmod 644 relatorio.txt
Definir permissões de script/diretóriochmod 755 backup.sh
Restringir acesso ao proprietáriochmod 700 diretorio-privado
Mudar proprietáriosudo chown monte-de-dados relatorio.txt
Mudar proprietário e gruposudo chown monte-de-dados:linux relatorio.txt
Mudar gruposudo chgrp linux relatorio.txt
Aplicar mudança a diretório e conteúdosudo chown -R monte-de-dados:linux /srv/projeto

Continue seus estudos

Permissões são uma das bases da administração de sistemas Linux. Entender chmod, chown e chgrp ajuda a controlar acessos, organizar ambientes compartilhados e evitar problemas de segurança.

Quer sair da teoria e entender Linux na prática?
Baixe gratuitamente o e-book Linux: Da Teoria à Administração de Sistemas e aprofunde seus conhecimentos em terminal, arquivos, permissões, processos, serviços e logs.

Ebook Linux para iniciantes - Monte de Dados