Você já se encontrou enredado no intrigante mundo 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á se equipar 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 embarcar nessa imersão nas permissões do Linux, certifique-se de ter 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 universo das permissões do Linux, os comandos chmod
e chown
possuem um poder significativo. Compreender como usar 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 empregar uma combinação de símbolos e códigos numéricos, você pode conceder ou restringir o 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 protegendo dados sensíveis ou simplificando o acesso para uma equipe, esses comandos são seus fiéis companheiros no mundo das operações de arquivo no Linux.
Continue lendo e aprofunde-se 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. Esse 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, conforme mostrado abaixo.
Essas informações incluem permissões, número de links, proprietário, grupo, tamanho e horário de modificação. Mas seu foco agora está nas permissões do arquivo.

Três permissões-chave regem cada arquivo e diretório: ler (r), escrever (w) e executar (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 escrita, mas não de execução.
- A segunda parte (rw-) – Concede ao grupo permissões de leitura e escrita, mas não de execução.
- A última parte (r–) – Permite a outros a permissão de leitura, mas não de escrita ou execução.

Modificando Permissões via o Comando chmod
: Modo Simbólico
Expandindo seu entendimento 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
(mudar modo) concede a você o poder de assumir o controle do 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 o modo simbólico, siga estes passos:
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 logados em sua máquina Linux.
Este comando não fornece saída no terminal, mas você verificará as permissões do arquivo na etapa seguinte.
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 da permissão atual do arquivo, pois mais tarde você fará uma comparação. 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 em 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 as abaixo. Observe que o proprietário (u) agora tem apenas permissão de leitura (r–).

5. Agora, execute cada comando abaixo para realizar o seguinte:
- Adicione (
+
), escreva (w
) e execute (x
) permissões para o proprietário (u
) no mesmo arquivouser.txt
. - Visualize 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 que você remova 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:
- Adicione (
+
) permissões de leitura (r
) para todas as categorias. - Remova (
-
) 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 (-
) as permissões de leitura (r
) para todas as três categorias (ugo
).
chmod ugo+r
– Adiciona (+
) as 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 (=
) as permissões de leitura e escrita (rw
) para o proprietário e grupo, e remove as permissões dos outros (o=
).
O símbolo=
permite que você defina explicitamente permissões e substitua quaisquer permissões existentes. Se nenhuma permissão for especificada após o símbolo=
, todas as permissões para essa categoria serão removidas.ls
– Visualize as alterações feitas 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 usar 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 pegajoso. Os próximos três dígitos 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 lidamos com permissões especiais, você pode ver apenas a notação de três dígitos. O zero à esquerda, que indica a 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 do arquivo user.txt
.
No resultado abaixo, você pode ver as permissões definidas para o arquivo user.txt estão em 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 Acesso, conforme mostrado abaixo, você verá o modo octal e simbólico associado às permissões do arquivo user.txt.
Com essa informação, você aprimora sua compreensão sobre 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 executadas em um arquivo ou diretório, você pode especificar quem tem o direito de definir ou modificar essas permissões alterando a propriedade.
O comando chown
(alterar proprietário) é o principal comando para gerenciar a propriedade de arquivos e diretórios. Assim como o comando chmod
, o comando chown
é um comando apenas para 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 a alteração de propriedade funciona.

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 veja (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 no próximo passo.
4. Agora, execute o seguinte comando para ver (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 de Grupo
No sistema de arquivos 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 prejudicar todo o conjunto, a propriedade incorreta pode levar a problemas potenciais.
Deveria se preocupar? Na verdade, não. A associação a grupos permite uma abordagem em camadas para permissões de arquivo. Esta abordagem permite que vários usuários colaborem e compartilhem acesso com base na associação a grupos.
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 comandos a seguir para alterar recursivamente o proprietário e a propriedade do grupo de um arquivo ou de um diretório inteiro.
sudo chown -R john:finance-group user.txt
sudo chown -R john:finance-group ~/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
Embora nomes de usuário e nomes de grupo ofereçam uma maneira legível por humanos de identificar os proprietários de arquivos, cada usuário e grupo também está associado a identificadores numéricos exclusivos.
Esses identificadores numéricos exclusivos são o ID do Usuário (UID) e o ID do Grupo (GID). Eles fornecem uma maneira inequívoca de definir a propriedade do arquivo em ambientes com nomes de usuário e grupos sobrepostos ou semelhantes.
Para alterar a propriedade usando UID e GID 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
que deve exibir UIDs e GIDs numéricos em vez de resolvê-los para seus nomes de usuário e grupo correspondentes.
Observe o UID e o 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 o GID do usuário e grupo que deseja definir para a propriedade do seu arquivo.
Certifique-se de substituir os espaços reservados <username>
e <groupname>
pelo nome de usuário e grupo preferidos.
Observe o UID (ou seja, 1002) e o 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 etapa dois.
? Note que usar UIDs e GIDs numéricos pode ser menos legível do que nomes de usuários e grupos. Portanto, certifique-se de estar usando os números corretos para evitar alterações não intencionais.
4. Por fim, execute novamente o comando abaixo para listar informações (ls
) sobre o arquivo new.txt
e verificar as mudanças na propriedade do arquivo.
Compare o UID e GID que você anotou no passo um com os abaixo. Observe que a nova propriedade do 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, ganhando domínio sobre 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 grupo, 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 por que não fortalecer ainda mais sua proficiência no Linux? Talvez considere explorar 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!