Você já se viu enredado no mundo perplexo das permissões do Linux? Se ainda se pergunta quem pode ler, escrever ou executar o quê, bem, você está no lugar certo. Desmistifique a arte intricada das permissões do Linux, focando especificamente na dupla poderosa: chmod
e chown
!
Neste tutorial, você irá equipar-se com as habilidades necessárias para controlar o acesso aos seus arquivos e diretórios com confiança.
Agora, arregace as mangas e conquiste as permissões do Linux como um campeão!
Pré-requisitos
Antes de se aventurar nessa imersão profunda nas permissões do Linux, certifique-se de possuir uma Máquina Linux para dominar os comandos chmod
e chown
. Este tutorial utiliza o Ubuntu 22.04 LTS (Jammy Jellyfish).
Entendendo os Comandos chmod
e chown
No mundo das permissões do Linux, os comandos chmod
e chown
possuem um poder significativo. Entender como utilizar esses comandos de forma eficaz é crucial para qualquer usuário de Linux, desde iniciantes até administradores experientes.
Ambos os comandos oferecem muitas maneiras de controlar o seu sistema Linux, mas abaixo estão os conceitos básicos do que cada um é capaz:
chmod
– Este comando é a chave para gerenciar as permissões de arquivos e diretórios no Linux, permitindo que você especifique quem pode ler, escrever e executar um arquivo. Ao utilizar uma combinação de símbolos e códigos numéricos, você pode conceder ou restringir acesso a usuários, grupos e outros.chown
– Com este comando, você pode alterar a propriedade de arquivos e diretórios. Este comando é inestimável quando você precisa transferir o controle administrativo ou alterar a associação entre um arquivo e um usuário/grupo.
Seja para proteger dados sensíveis ou simplificar o acesso para uma equipe, esses comandos são seus companheiros confiáveis no mundo das operações de arquivo do Linux.
Continue lendo e mergulhe ainda mais nas complexidades desses comandos.
Listando Arquivos e Visualizando Permissões
Antes de alterar permissões e propriedade com os comandos chmod
e chown
, o primeiro passo é listar arquivos e visualizar suas permissões.
Assim como encontrar um livro em uma biblioteca, no Linux, você frequentemente precisará visualizar uma lista de arquivos junto com suas permissões associadas. Este conhecimento é crucial para uma gestão eficaz de arquivos.
Para visualizar as permissões de um arquivo ou diretório:
Abra um terminal e execute o seguinte comando ls
para listar todos os arquivos e diretórios no diretório de trabalho atual em um formato longo (-l
)
O formato longo fornece informações detalhadas sobre cada arquivo ou diretório, como mostrado abaixo.
Essas informações incluem permissões, número de links, proprietário, grupo, tamanho e hora da modificação. Mas seu foco agora são as permissões do arquivo.

Três permissões principais regem cada arquivo e diretório: leitura (r), gravação (w) e execução (x). Cada uma dita como os usuários interagem com o conteúdo de cada arquivo e diretório.
Além disso, cada uma dessas permissões é aplicada em três categorias distintas de propriedade: proprietário, grupo e outros (usuários que não são membros do grupo).
O seguinte ilustra cada parte das permissões de arquivo:
- O primeiro caractere indica um arquivo (–) ou um diretório (d).
- A primeira parte (rw-) – Fornece ao proprietário permissões de leitura e gravação, mas não de execução.
- A segunda parte (rw-) – Concede ao grupo permissões de leitura e gravação, mas não de execução.
- A última parte (r–) – Permite que outros tenham permissão para ler, mas não escrever ou executar.

Modificando Permissões via o Comando chmod
: Modo Simbólico
Expandindo sua compreensão das permissões de arquivo, mergulhe em uma ferramenta poderosa para modificar permissões. Imagine ajustar quem pode acessar, modificar ou executar um arquivo ou diretório com precisão. O comando chmod
(alterar modo) concede a você o poder de controlar seu sistema Linux.
Quando você precisa de uma maneira flexível e expressiva de controlar o acesso aos seus arquivos e diretórios com precisão, o modo simbólico fará o truque.
Para modificar permissões com o comando chmod
via modo simbólico, siga estas etapas:
1. Execute o comando abaixo who
para criar um novo arquivo (>
) chamado user.txt
como um usuário não privilegiado, contendo uma lista de usuários atualmente conectados em sua máquina Linux.
Este comando não fornece saída no terminal, mas você verificará as permissões do arquivo na próxima etapa.
2. Em seguida, execute o comando abaixo para visualizar as permissões do arquivo user.txt
.
Abaixo, você pode ver as permissões padrão do arquivo, o proprietário, o dia e o mês de criação, e o nome do arquivo.
Tome nota das permissões atuais do arquivo, pois você fará uma comparação posteriormente. Seu foco por enquanto são as permissões de usuário (rw-).

3. Agora, execute o seguinte comando para remover (-
) a permissão de escrita (w
) para o proprietário (u
), deixando todas as outras permissões para outras categorias inalteradas.
A tabela a seguir detalha o que cada símbolo representa:
User Symbol | Details | Operation Symbol | Details | Permission Symbol | Details |
---|---|---|---|---|---|
u | Owner | + | Add permissions | r | Read |
g | Group | – | Remove permissions | w | Write |
o | Others | = | Set permissions explicitly | x | Execute |
Quando bem-sucedido, o comando chmod
não tem saída no terminal, o que se aplica durante todo este tutorial.
4. Após alterar as permissões, execute o comando abaixo para visualizar as permissões do arquivo user.txt
.
Compare as permissões do arquivo que você anotou na etapa dois (rw-) com a abaixo. Observe que o proprietário (u) agora só possui permissão de leitura (r–).

5. Agora, execute cada comando abaixo para realizar o seguinte:
- Adicionar (
+
), escrever (w
), e executar (x
) permissões para o proprietário (u
) no mesmo arquivouser.txt
. - Visualizar as informações do arquivo
user.txt
para verificar as permissões modificadas.
Como mostrado abaixo, o usuário agora tem permissões de leitura, escrita e execução (rwx) para o arquivo user.txt.

6. Em vez de adicionar, execute o comando chmod
abaixo para remover (-
) o seguinte:
- Permissão de execução (
x
) para o proprietário (u
). - Permissão de escrita (
w
) para o grupo (g
). - Todas as permissões (
rwx
) para outros (o
).
Este comando permite remover permissões de diferentes categorias simultaneamente com um único comando.
Desta vez, a opção -v
informa ao chmod
para exibir uma mensagem sobre as alterações feitas pela operação.

7. Em seguida, execute o seguinte comando para realizar as seguintes operações:
- Adicionar (
+
) permissões de leitura (r
) para todas as categorias. - Remover (
-
) permissões de escrita e execução (wx
) para todas as categorias (a
).
8. Agora, execute o comando abaixo para visualizar as permissões atualizadas do arquivo user.txt
.

? Alternativamente, você pode modificar a mesma permissão para todas as três categorias (usuário, grupo e outros) com os seguintes comandos:
chmod ugo-r
– Remove (-
) permissões de leitura (r
) para todas as três categorias (ugo
).
chmod ugo+r
– Adiciona (+
) permissões de leitura (r
) para todas as três categorias (ugo
).
9. Por último, execute os comandos abaixo para realizar o seguinte:
chmod
– Define (=
) permissões de leitura e escrita (rw
) para o proprietário e o grupo, e remove as permissões de outros (o=
).
O símbolo=
permite que você defina explicitamente as permissões e substitua quaisquer permissões existentes. Se nenhuma permissão for especificada após o símbolo=
, todas as permissões para aquela categoria são removidas.ls
– Veja as alterações que você fez nas permissões do arquivouser.txt
.

Ajustando os Direitos de Acesso Usando o Comando chmod
: Modo Octal
Imagine ter a capacidade de definir rapidamente e precisamente as permissões para seus arquivos sem as complexidades da notação simbólica. O modo octal (notação de base oito) se tornará seu novo método favorito para gerenciar permissões.
No modo octal (notação de base oito), as permissões são representadas usando um número de quatro ou três dígitos, de 0 a 7. Cada número corresponde a um conjunto específico de permissões para o proprietário, grupo e outros, conforme segue:
- Leitura (r) = 4
- Escrita (w) = 2
- Execução (x) = 1
- Sem permissões (-) = 0
Para ver como o modo octal funciona no gerenciamento de permissões de arquivo, siga estas etapas:
1. Execute o comando chmod
abaixo para adicionar as seguintes permissões (664
) ao arquivo user.txt
:
- Proprietário – leitura (
4
) + escrita (2
) + execução (0
) =6
- Grupo – leitura (
4
) + escrita (2
) + execução (0
) =6
- Outros – leitura (
4
) + escrita (0
) + execução (0
) =4
Ao utilizar um número de quatro dígitos com o comando chmod
para permissões de arquivo no Linux, o dígito principal (mais à esquerda) representa permissões especiais, como setuid, setgid e bit de sticky. Os três dígitos seguintes representam as permissões padrão para o proprietário, grupo e outros, respectivamente.
Mas ao usar um número de três dígitos, o primeiro dígito representa as permissões do proprietário do arquivo (u
), o segundo para o grupo do arquivo (g
), e o último para outros (o
).
Em muitos casos, especialmente quando não se lida com permissões especiais, você pode ver apenas a notação de três dígitos. O zero à esquerda, que indica notação octal, pode ser subentendido e, portanto, omitido. Como no exemplo abaixo, em vez de 0664
, você usa 664
.
2. Em seguida, execute o comando abaixo para visualizar as permissões para o arquivo user.txt
.
No resultado abaixo, você pode ver as permissões definidas para o arquivo user.txt estão no modo simbólico, o que é equivalente a 664 no modo octal.

3. Agora, execute o comando stat
abaixo para visualizar um conjunto abrangente de estatísticas sobre o arquivo user.txt
, incluindo as permissões nos modos simbólico e octal.
Na propriedade de Acesso, como mostrado abaixo, você verá o modo octal e simbólico associado às permissões de arquivo do arquivo user.txt.
Com estas informações, você aprimora sua compreensão de como ajustar permissões usando o modo octal.

Alterando a Propriedade do Arquivo com o Comando chown
Enquanto as permissões ditam quais ações podem ser realizadas em um arquivo ou diretório, você pode especificar quem tem o direito de definir ou modificar estas permissões alterando a propriedade.
O comando chown
(mudar proprietário) é o comando principal para gerenciar a propriedade de arquivos e diretórios. Assim como o comando chmod
, o comando chown
é um comando apenas para o root – apenas o usuário root pode alterar a propriedade de um arquivo ou diretório.
Para gerenciar a propriedade com o comando chown
, siga as etapas abaixo:
1. Execute os comandos abaixo para criar um usuário (useradd
) chamado bill
e fornecer uma senha forte.
Você precisa ter mais de um usuário em sua máquina local além do usuário padrão, que é você, para ver como funciona a alteração de propriedade.

2. Em seguida, execute cada comando abaixo para escrever uma lista dos usuários atualmente logados (who
) em um arquivo chamado new.txt
como um usuário não privilegiado e visualize (ls
) seu proprietário e permissões.
Abaixo, a saída mostra que o proprietário do arquivo é mercy.

3. Com o proprietário verificado, execute o comando chown
abaixo para alterar o proprietário do arquivo new.txt
para bill
.
Assim como o comando chmod
, o comando chown
não fornece saída, mas você verificará a mudança de proprietário na etapa seguinte.
4. Agora, execute o seguinte comando para visualizar (ls
) o novo proprietário do arquivo new.txt
.
A saída abaixo confirma que você alterou com sucesso o proprietário do arquivo new.txt para bill, que agora tem controle e autoridade sobre esse arquivo.

Aplicando o Comando chown
para Modificar a Propriedade do Grupo
No sistema de arquivos do Linux, cada arquivo e diretório está associado não apenas a um proprietário individual, mas também a um grupo. Assim como um único instrumento desafinado pode perturbar todo o conjunto, a propriedade incorreta pode levar a problemas potenciais.
Deveria estar preocupado? Não realmente. A associação a grupos permite uma abordagem em camadas para permissões de arquivo. Essa abordagem permite que vários usuários colaborem e compartilhem acesso com base na associação ao grupo.
Para modificar a propriedade do grupo, siga as etapas abaixo:
1. Execute o comando abaixo para visualizar o grupo associado ao arquivo new.txt
.

2. Em seguida, execute os comandos abaixo, que não fornecem saída, mas realizam o seguinte:
- Crie um grupo (
groupadd
) chamadodevelopers
. - Altere a propriedade do grupo (
chown
) do arquivonew.txt
paradevelopers
.
? Alternativamente, em vez de uma abordagem individual, use os seguintes comandos para alterar recursivamente o proprietário e a propriedade do grupo de um arquivo ou diretório inteiro.
sudo chown -R john:grupo-financeiro user.txt
sudo chown -R john:grupo-financeiro ~/Desktop
3. Agora, execute novamente o seguinte comando para visualizar (ls
) a nova propriedade do grupo do arquivo new.txt
.
Abaixo, a saída confirma que você alterou com sucesso a propriedade do grupo do arquivo new.txt para developers.

Alterando a Propriedade do Arquivo via UID e GID Numéricos
Enquanto nomes de usuários e grupos oferecem uma forma legível por humanos de identificar proprietários de arquivos, cada usuário e grupo também está associado a identificadores numéricos únicos.
Esses identificadores numéricos únicos são o ID do Usuário (UID) e o ID do Grupo (GID). Eles fornecem uma forma inequívoca de definir a propriedade do arquivo em ambientes com nomes de usuário e grupo sobrepostos ou similares.
Para alterar a propriedade usando UIDs e GIDs numéricos, siga estas etapas:
1. Execute o comando abaixo para listar informações (`ls`) sobre o arquivo `new.txt`.
A opção `-n` informa ao comando `ls` para exibir UIDs e GIDs numéricos em vez de resolvê-los para seus nomes de usuário e grupo correspondentes.
Observe o UID e GID associados ao arquivo new.txt
, pois você precisará deles para fazer comparações na próxima etapa.

2. Em seguida, execute os seguintes comandos getent
para obter o UID e GID do usuário e grupo que você deseja definir para a propriedade do seu arquivo.
Assegure-se de substituir os espaços reservados <username>
e <groupname>
pelo nome de usuário e nome de grupo preferidos.
Tome nota do UID (ou seja, 1002) e GID (ou seja, 1005) na saída a seguir, pois você precisará deles para alterar a propriedade na próxima etapa.
Por padrão, quando um usuário é criado no Linux, um grupo com o mesmo nome do usuário também é criado. Este grupo serve como o grupo primário do usuário e é automaticamente adicionado a este grupo primário.
Assim, o GID para o usuário john
difere do GID do grupo finance
. A menos que o usuário seja explicitamente adicionado ao grupo, seus respectivos GIDs permanecem diferentes.

3. Em seguida, execute o seguinte comando para alterar a propriedade do arquivo new.txt
e a propriedade do grupo. Certifique-se de substituir 1002
e 1005
pelos que você anotou na segunda etapa.
? Note que o uso de UIDs e GIDs numéricos pode ser menos legível do que nomes de usuários e grupos. Portanto, certifique-se de usar os números corretos para evitar alterações não intencionais.
4. Finalmente, execute novamente o comando abaixo para listar informações (ls
) sobre o arquivo new.txt
e verificar as alterações na propriedade do arquivo.
Compare o UID e GID que você anotou no passo um com os abaixo. Observe que a propriedade do novo arquivo foi alterada de 1001:1003 para 1002:1005.

Conclusão
Você acabou de embarcar em uma exploração abrangente das permissões do Linux, dominando comandos cruciais como chmod
e chown
. Ao longo deste tutorial, você se tornou hábil em modificar permissões usando modos simbólicos e octais.
Você também adquiriu as habilidades para gerenciar a propriedade de arquivos e atribuições de grupos, seja por nome ou através de UID e GID numéricos. Com essa nova expertise em chmod
e chown
, você agora possui ferramentas poderosas para governar o acesso e a propriedade dentro do seu sistema Linux.
Mas que tal reforçar ainda mais sua proficiência no Linux? Talvez considere se aprofundar em métodos avançados de controle de acesso, incluindo Listas de Controle de Acesso (ACLs)? Busque um controle ainda mais preciso sobre as permissões de arquivos e diretórios!