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.
Conteúdo
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
Comando Chown para Links
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!
Comentários
March 27 2020
Muito bom, tava procurando exatamente por isso :)
July 06 2021
Ajudou bastante! Valeu!
June 16 2023
Muito bem explicado, simplificou bastante. Muito obrigado.
July 05 2023
Ficamos felizes em ter ajudado, Nilson! Estamos aqui pra isso :)
July 06 2023
As dicas são muito válidas e ajudom até me deparar com um grupo que tem espaços no nome. ex: domain users, Não achei aqui, mas aprendi e podemos contribuir. Para alterar um grupo com espaços no nome colocamos entre aspas duplas. chown :"novo grupo" chownSample.txt aí funcionará top.
July 14 2023
Obrigado pelo complemento, Paulo! Vamos colocar essa dica na nossa lista para complementarmos o artigo numa atualização futura :)