O uso do comando chown é muito constante pelos administradores de sistemas Linux. Trata-se de um acrônimo para “change owner”, ou seja, “alterar o dono”. Tem o papel de modificar as propriedades de arquivos, diretórios ou links. Mais precisamente, o comando chown altera o usuário e grupo no Linux.
O chown possui uma posição totalmente crucial na administração do sistema Linux. Basicamente, possibilita que os usuários alterem as propriedades de arquivos e diretórios conforme suas necessidades.
A estrutura do ambiente operacional Linux é preparada para comportar grandes volumes de usuários.
Além disso, o hábito de utilizar o chown é mais uma vez visto como essencial para manter o gerenciamento organizado.
Podemos imaginar uma empresa com centenas ou milhares de usuários e diversos grupos referentes aos seus departamentos. É preciso que haja vínculos e permissões apropriadas para o que e como cada usuário pode acessar.
A ausência de hierarquia de permissões de um arquivo (usuário e grupo) pode causar falhas de segurança. Por exemplo, tornará os dados vulneráveis a ameaças externas e internas.
Então, veremos no decorrer deste artigo como funciona o chown, de forma mais detalhada e prática possível, com exercícios práticos de uso.
Conteúdo
Introdução ao comando chown
Como aprendemos até aqui, o chown é o comando responsável por alterar as propriedades de um diretório ou arquivo no Linux.
Cada diretório, arquivo e link simbólico existente no Linux pertence a um owner (proprietário) e a um grupo.
Quando algum usuário cria um novo arquivo, diretório ou link é criado, seu proprietário atribuído é o próprio usuário responsável por sua criação.
Assim como no caso do grupo atribuído, que fica definido como o grupo atual ao qual o usuário pertence.
Aliás, no sentido de mudança de grupo, existe um outro comando conhecido como chgrp (change group).
O chgrp é responsável por permitir aos administradores de sistemas mudarem o grupo responsável pelo conteúdo envolvido.
Porém, com o intuito de se tornar tudo mais fácil e prático, o chown tem o poder de alterar também os grupos, o que o torna um comando mais robusto.
Perfeito! Mas, agora surgiu uma dúvida. Para essas modificações ocorrerem, somente o usuário que criou o diretório/arquivo ou o usuário root são capazes de modificar suas permissões?
A resposta para essa dúvida é: Sim! Para que o comando chown funcione, deve ser executado por usuários com privilégios de superusuários. Basta acrescentar no início da sintaxe o comumente conhecido popularmente comando sudo.
Agora, iremos nos aprofundar cada vez mais no estudo e utilização do comando. Porém, de forma mais prática e didática.
Sintaxe do comando chown
A estrutura básica do comando é simples:
chown [opções] usuario:grupo arquivoVocê informa o novo dono (e, opcionalmente, o novo grupo após os dois-pontos) e o arquivo ou pasta a alterar. As opções mais usadas são:
| Opção | O que faz |
|---|---|
| -R | Aplica de forma recursiva (a pasta e todo o conteúdo dentro dela) |
| -v | Verbose: mostra cada alteração feita |
| -c | Mostra apenas os arquivos que foram de fato alterados |
| -f | Silent: suprime a maioria das mensagens de erro |
| -h | Altera o próprio link simbólico, não o arquivo apontado |
| –from | Só altera se o dono atual for o especificado |
| –reference | Copia o dono e grupo de outro arquivo de referência |
Lembre-se de que o chown exige privilégios de administrador — por isso os comandos costumam começar com sudo.
Chmod ou chown: qual a diferença?
É a confusão mais comum de quem começa no Linux, porque os dois lidam com controle de acesso — mas fazem coisas diferentes e complementares:
- O chown altera quem é o dono de um arquivo ou pasta (o usuário e o grupo proprietários).
- O chmod altera o que cada um pode fazer com o arquivo (as permissões de leitura, escrita e execução).
Em outras palavras: o chown define de quem é o arquivo; o chmod define o que se pode fazer com ele. Na prática, os dois costumam ser usados juntos — primeiro se define o dono correto com o chown, depois se ajustam as permissões com o chmod.
Uso do comando chown
Considere a execução dos seguintes comandos:
sudo chown almeida_junior relatorio.txt
sudo chown almeida_junior:financeiro relatorio1.txt
sudo chown almeida_junior:financeiro /home/almeida/* Mas, o que fizemos ao executar estes comandos? Inicialmente, usando o poder de superusuário, o proprietário do arquivo relatorio.txt transferiu a posse do referido arquivo para o usuário designado almeida_junior.
Além disso, alteramos a posse do arquivo, trocando-o para o novo usuário almeida_junior e o novo grupo chamado financeiro.
O uso do caractere “:” serve única e exclusivamente como coluna separadora na sintaxe do comando.
Finalmente, inserimos a instrução -R para que seja possível aplicar o ajuste de forma recursiva. Isso irá alterar o dono de todo o conteúdo que existir em /home/almeida/ para almeida_junior e o grupo financeiro.
Perceba que sequências simples de comandos como estas podem fazer total diferença na organização estrutural do ambiente.
Em suma, por este motivo, precisamos ter atenção e cuidado ao fazermos uso do chown, e isso iremos conferir a seguir.
Exemplos práticos de uso do comando chown
Até aqui fornecemos uma visão geral sobre o uso do comando chown.
Agora, vamos abordar brevemente, porém, frisando sobre o uso de outro comando antes de sairmos rodando o chown.
Trata-se do comando ls. Ele é muito utilizado e nos permite ter a visão das propriedades dos arquivos e diretórios antes e após rodarmos o chown.
Antes de nós realizarmos as modificações utilizando o chown, é altamente recomendado executarmos o comando ls. Pois, precisamos descobrir o dono (usuário e grupo), bem como suas permissões.
Agora, vamos à execução dos comandos e suas saídas (resultados).
Aqui está um exemplo:
ls -l relatorio1.txt Saída:
Nesse resultado de saída, podemos observar que:
-rw-r–r– 1 : trata-se da permissão 644. É a permissão padrão em que o Linux atribui a um arquivo quando este é criado. O comando chmod é indicado para alterar somente as permissões de um arquivo.
almeida_junior: é o nome do usuário e atual owner do arquivo relatorio1.txt
financeiro: é o nome do grupo no qual foi definido para ter acesso ao arquivo relatorio1.txt
Veremos em seguida como mudar o owner do arquivo “contatos.txt” para a usuária carla_neves, do grupo administracao.
sudo chown carla_neves:administracao contatos.txt Saída:
Vamos exercitar com mais outros exemplos.
1. Praticando a mudança de grupo de um arquivo
Vamos iniciar checando como estão as propriedades do arquivo com a ajuda do comando ls. Em seguida, vamos alterar o que desejamos.
ls -l orcamento.txt Saída:
Acima, podemos observar que o arquivo pertence ao usuário root e ao grupo root.
sudo chown :financeiro orcamento.txt Saída após a execução do comando:
Agora, podemos ver que o arquivo continua a pertencer ao usuário root, porém, está fazendo parte do grupo financeiro.
2. Mudar apenas o owner de um arquivo específico
Suponhamos que este tenha como owner o root e queiramos alterá-lo para o usuário carla_neves, proceda conforme a seguir:
ls -l dados.txt Saída:
sudo chown --from=root carla_neves dados.txt Então, essa será a saída após executarmos o comando:
Executá-lo dessa forma é muito útil quando há vários arquivos dentro de um único diretório. Porém, desejamos conceder propriedade e permissão de acesso a apenas um ou poucos arquivos a um determinado usuário.
3. Visualizar as alterações feitas através do comando chown
Saber quais foram as alterações feitas através do comando chown é muito útil. Principalmente se precisamos analisar uma dificuldade ou investigar alguma ação suspeita.
Fazemos isto utilizando a opção -v (verbose).
Vejamos o exemplo:
ls -l relatorio1.txt Saída:
sudo chown -v root:admin relatorio1.txt Então, essa será a saída gerada quando nós executarmos o comando:
Dessa forma, o arquivo passou a ter novo owner e novo grupo e acompanhamos em tempo real o resultado do comando que executamos.
4. Replicar as propriedades de um arquivo para outro
Para realizarmos uma cópia das propriedades de um arquivo e a utilizarmos para outro arquivo, é uma tarefa bastante simples. Sem falar que facilita bastante quando queremos tornar a tarefa menos repetitiva.
Experimente executar os seguintes passos:
ls -l contatos.txt orcamento.txt Saída:
sudo chown --reference=contatos.txt orcamento.txt ls -l contatos.txt orcamento.txt Saída:
Enfim, podemos ver acima o novo resultado de saída mostrando que o arquivo orçamento.txt herdou as propriedades de proprietário e grupo existentes no arquivo contatos.txt.
Isto graças ao parâmetro –reference, que foi responsável por copiar e replicar as propriedades de um para o outro.
5. Outras opções disponíveis no comando chown no Linux
Opção ‘-c’ (changes)
Ele é semelhante ao parâmetro -v, o parâmetro -c serve para retornar o resultado apenas quando a mudança é feita.
Exemplo:
sudo chown -c almeida_junior relatorio1.txt Saída:
Opção ‘-f’ (silent)
Quando utilizado, este parâmetro é responsável por eliminar grande parte das mensagens de erro que possam ocorrer.
Por exemplo, quando o usuário administrador não possui privilégios para modificar as propriedades do grupo e exibe um erro. O parâmetro -f pode contornar a situação, pois permite alterar a propriedade de forma forçada e silenciosa.
Uso do comando chown para Links
Nós utilizamos o comando chown também para mudar as propriedades de links simbólicos. E um link simbólico nós utilizamos quando queremos referenciar o caminho de um arquivo físico existente, como se fosse um atalho.
O comando responsável por criar links simbólicos é o ln. Então, vamos criar um link para o arquivo contatos.txt. Para criar, vamos utilizar a seguinte sintaxe:
sudo ln -s contatos.txt symlink Enfim, podemos conferir as informações de propriedade do link simbólico criado, para isso, usamos o comando ls -l. O resultado deverá ser semelhante a este:
E como podemos alterar as propriedades de owner do link simbólico?
Basta executar a seguinte sintaxe de comando:
sudo chown -h novousuario:novogrupo symlink Mas, em nosso caso:
sudo chown -h www-data:www-data contatos.txt Essa sintaxe irá alterar as propriedades do arquivo contatos.txt. Por fim, o resultado exibido pelo ls -l será este:
Se desejarmos alterar apenas o owner dono do link simbólico, deveremos utilizar o parâmetro -h. Então, A sintaxe do comando então ficará:
sudo chown -h novousuario symlink Mas, em nosso caso:
sudo chown -h ubuntu symlink Conferindo o resultado com ls -l veremos que o owner do link simbólico mudou. Porém, as propriedades do arquivo ao qual o link está apontando permaneceram as mesmas:
Perguntas frequentes
O que é o comando chown?
O chown (change owner) é o comando do Linux que altera o dono e o grupo de arquivos, diretórios e links simbólicos. É usado por administradores para definir quem é o proprietário de cada arquivo no sistema, o que é essencial para a organização e a segurança do ambiente.
Qual a diferença entre chmod e chown?
O chown altera quem é o dono do arquivo (usuário e grupo), enquanto o chmod altera as permissões (o que cada um pode ler, escrever ou executar). O chown define de quem é o arquivo; o chmod define o que se pode fazer com ele. Os dois são complementares.
Como usar o chown de forma recursiva?
Use a opção -R, que aplica a mudança à pasta e a todo o conteúdo dentro dela. Por exemplo, chown -R usuario:grupo /caminho/da/pasta altera o dono de todos os arquivos e subpastas de uma vez.
O chown precisa de sudo?
Sim, na maioria dos casos. Alterar a propriedade de um arquivo exige privilégios de administrador, então o comando costuma ser executado com sudo à frente (por exemplo, sudo chown usuario arquivo). Sem isso, o sistema normalmente retorna um erro de permissão.
Como mudar apenas o grupo de um arquivo com o chown?
Basta usar os dois-pontos seguidos do nome do grupo, sem informar o usuário: chown :grupo arquivo. Isso altera só o grupo, mantendo o dono atual. Também é possível usar o comando chgrp para a mesma finalidade.
Comandos como o chown exigem privilégios de administrador — algo que só um VPS ou servidor Cloud oferece. Com os servidores VPS da Homehost, você tem controle total sobre usuários, grupos e permissões, com infraestrutura robusta e suporte em português.
Conhecer os servidores VPS