CHOWN: alterar usuário e grupo no Linux

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.

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 arquivo

Você 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
-RAplica de forma recursiva (a pasta e todo o conteúdo dentro dela)
-vVerbose: mostra cada alteração feita
-cMostra apenas os arquivos que foram de fato alterados
-fSilent: suprime a maioria das mensagens de erro
-hAltera o próprio link simbólico, não o arquivo apontado
–fromSó altera se o dono atual for o especificado
–referenceCopia 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/*
chown usuario exemplo

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:

ls para descobrir permissoes

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:

ls -l

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:

ls -l

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:

chown root admin

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:

ls -l com permissoes do symlink

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:

comando ls -l para ver as permissoes

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.

Gerencie seu servidor com acesso root

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

Este artigo foi útil?

Obrigado pela resposta!
Picture of Marcio S

Marcio S

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!