O Que é Comando Chown Linux e Como Utilizá-lo

Em sistemas operacionais Linux, cada arquivo é associado com um grupo e um dono (owner). Chown é uma abreviação para change owner, que traduzido fica “mudar o dono”. O comando pode ser utilizado em qualquer sistema Unix pelo superusuário. Neste tutorial você vai aprender como usar e se beneficiar deste comando.

Com o chown você pode mudar o dono de arquivos, diretórios e links. Se um usuário comum desejar realizar certas mudanças em um arquivo, um superusuário pode usar o comando chown para alterar o dono do arquivo e permitir tal alteração.

Visualizar as Informações de Propriedade

Antes de mais nada, você precisa acessar sua hospedagem de servidor VPS via SSH. Se não lembra como realizar a conexão, este tutorial vai mostrar passo a passo tudo que você precisa fazer.

Antes de usar o comando chown, vamos confirmar as informações do usuário e grupo. Para isso, utilize o comando cd e navegue até o diretório em questão.

Por exemplo, se o caminho do arquivo for /tmp/TestUnix, acesse o diretório executando o seguinte comando:

cd /tmp/TestUnix

Agora você pode listar os arquivos dentro do diretório com o comando:

ls -l

Para este tutorial, criamos um arquivo chamado chownSample.txt no diretório acima mencionado. O resultado do comando seria:

-rw-r--r-- 1 root root 0 Feb 20 17:35 chownSample.txt

A primeira parte -rw-r–r– representa as permissões do arquivo. O primeiro root representa o dono/owner do arquivo e o segundo representa o grupo. Neste exemplo, o arquivo chownSample.txt possui propriedade do usuário root e pertence ao grupo root.

Comando Chown para Arquivos

Para mudar o dono de um arquivo, o formato básico do comando é:

chown usuário arquivo(s)

Vamos alterar o usuário dono do arquivo chownSample.txt de root para novousuario. O comando fica da seguinte maneira:

chown novousuario chownSample.txt

Para verificar se a alteração ocorreu com sucesso, vamos utilizar novamente o comando ls -l. O resultado será o seguinte:

-rw-r--r-- 1 novousuario root 0 Feb 20 17:45 chownSample.txt

O comando pode ser modificado para mudar o grupo. O formato básico do comando é:

chown usuario[:grupo] arquivo(s)

Se quisermos alterar as propriedados do mesmo arquivo chownSample.txt e definir o novo dono como novousuario e o grupo novogrupo, então o comando vai ficar assim:

chown novousuario:novogrupo chownSample.txt

Verifique a alteração com o comando ls -l:

-rw-r--r-- 1 novousuario novogrupo 0 Feb 20 17:50 chownSample.txt

Se apenas o grupo deve ser mudado, então é só deixar o campo do usuário em branco. Por exemplo:

chown :novogrupo chownSample.txt

O comando chown realiza uma função similar ao chgrp quando a informação do dono não é fornecida. Este comando pode ser utilizado com múltiplas opções.

Uma estrutura genérica do comando chown com opções seria:

chown [OPÇOES] [USUARIO] [:GRUPO] arquivo(s)

Comando Chown para Diretórios

O chown também pode ser aplicado para diretórios. Isto pode conter apenas arquivos, diretórios ou uma combinação de ambos.

Digamos que temos um diretório com o nome TestUnix. Assim como nos exemplos anteriores, podemos utilizar o comando ls -l para visualizar as permissões. O resultado seria:

drwxr-xr-x 2 root root 4096 Feb 20 17:35 TestUnix

Assim como vimos anteriormente, o diretório TestUnix possui o usuário root como dono e root como grupo.

Para alterar o usuário dono do diretório basta executar um simples comando:

chown novousuario /TestUnix

Para mudar somente o grupo:

chown :novogrupo /TestUnix

Para mudar o dono e o grupo, usamos:

chown novousuario:novogrupo /TestUnix

O mesmo comando pode ser utilizado para múltiplos arquivos ou diretórios de uma só vez, ficando assim:

chown [OPÇOES] [USUARIO][:GRUPO] arquivo1 arquivo2

Por exemplo:

chown novousuario:novogrupo /tmp/TestUnix/chownSample.txt /tmp/TestUnix

O comando chown Linux também pode ser usado para links simbólicos (soft links). Um link simbólico é uma referência a um arquivo físico existente. O comando ln é utilizado para criar soft links. Para o arquivo chownSample.txt, um link simbólico pode ser criado como:

ln -s chownSample.txt symlink

Para verificar as informações de dono e grupo podemos utilizar o comando ls -l. O resultado será parecido com este:

-rw-r--r--  1 root root 0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Há duas entradas disponíveis. Uma é para o arquivo físico e a outra para o link simbólico. Podemos mudar o dono (owner) utilizando o comando:

chown novousuario symlink

Este comando irá mudar o dono para o arquivo chownSample.txt. Dessa maneira, o resultado do comando ls -l ficará assim:

-rw-r--r--  1 novousuario root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Se queremos mudar o dono do link simbólico, então precisamos usar a opção -h. O comando será:

chown -h novousuario    symlink

Executando o comando ls -l vamos ver o que o dono do link simbólico foi mudado:

-rw-r--r--  1 novousuario root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 novousuario root  5 Feb 19 7 22:01 symlink -> chownSample.txt

Uso Recursivo do Chown

O comando chown pode ser usado em diretórios, porém, podemos ter uma estrutura de diretório recursiva e talvez queiramos mudar o dono para todos os arquivos e diretórios.

O uso recursivo do comando chown garante que todos os diretórios e subdiretórios tenham o dono e grupo alterados.

Para uma operação recursiva utilizamos a opção -R. Um exemplo deste comando é:

chown -R [USUARIO][:GRUPO] Diretório

Se temos um diretório como o TestUnix que possui diversos subdiretórios, então o comando abaixo irá alterar o owner de todos os diretórios e subdiretórios para o usuário.

chown -R novousuario /TestUnix

Resumo

É isso! Agora você sabe os básicos do comando chown. Para ajudá-lo ainda mais, os sistemas Unix oferecem uma página de manual para cada comando. Você vai encontrar o manual executando man chown. Esperamos que isso ajuda você a gerenciar os arquivos de seu VPS de forma segura e eficiente!

Author
O autor

Ariane G.

A Ariane é SEO Team Leader com experiência em conteúdo, localização e SEO. Seu desafio é levar a Hostinger ao topo dos resultados no Brasil, França e Reino Unido. Eventualmente ela compartilha seu conhecimento no blog e nos tutoriais da Hostinger e no tempo livre ela gosta de explorar lugares novos e viver intencionalmente.