CMD Master
Voltar ao blog
•Atualizado•Arnošt Havelka

Como alterar o proprietário de arquivos com chown no Bash

Use chown para alterar o proprietário e o grupo de arquivos ou diretórios, confira o resultado e evite mudanças recursivas inseguras.

Iniciar lição interativa
Como alterar o proprietário de arquivos com chown no Bash

Use chown quando um arquivo ou diretório pertencer ao usuário ou grupo errado. Primeiro inspecione o destino, altere um caminho explícito e confira o resultado imediatamente. Só adicione -R quando todos os itens abaixo de um diretório precisarem receber a mesma propriedade. A lição de chown no Bash permite praticar a forma básica em um sistema de arquivos isolado.

Confira o proprietário e o grupo atuais

Antes de alterar qualquer coisa, inspecione o caminho exato:

ls -ld project
ls -l project/readme.txt

Em uma listagem longa, o proprietário e o grupo aparecem depois dos campos de permissão e contagem de links. Confirme que project é o diretório pretendido e depois verifique se a conta e o grupo de destino já existem. chown não cria usuários nem grupos.

Altere o proprietário e o grupo

A forma mais comum coloca owner:group antes do caminho:

sudo chown admin:developers project

Isso torna admin o proprietário e developers o grupo da entrada de diretório project. O conteúdo não é alterado recursivamente. Use sudo apenas quando a conta atual não tiver permissão; privilégios elevados não protegem contra um nome ou caminho digitado errado.

Confira o resultado:

ls -ld project

Para alterar apenas o proprietário, omita o grupo:

sudo chown admin project/readme.txt

Para alterar apenas o grupo com chown, deixe o proprietário vazio:

sudo chown :developers project/readme.txt

O guia de chgrp costuma ser mais claro quando somente o grupo proprietário será alterado.

Trate a alteração recursiva de propriedade como outra decisão

A opção -R aplica a mudança ao diretório inicial e a tudo que existe abaixo dele:

sudo chown -R admin:developers project

Antes de pressionar Enter, use pwd e ls -ld project para confirmar o ponto de partida. Evite variáveis não resolvidas, curingas e caminhos copiados de mensagens não confiáveis. Nunca teste alterações recursivas de propriedade a partir de /, de um diretório pessoal inteiro ou de um volume de produção.

Depois, confira o diretório e alguns arquivos representativos:

ls -ld project
ls -l project/readme.txt

Uma árvore pode conter intencionalmente arquivos pertencentes a diferentes contas de serviço. Trocar todos eles por um único proprietário pode interromper implantações, bancos de dados, contêineres ou diretórios compartilhados, mesmo quando o comando termina sem erros.

Entenda o que chown não corrige

Propriedade e permissões são conceitos distintos. chown altera a quais usuário e grupo os bits de permissão se referem; chmod altera os bits de permissão. Se o proprietário estiver correto, mas o acesso continuar negado, inspecione o modo em vez de repetir a mudança de propriedade.

O tratamento de links simbólicos, volumes de rede, contêineres e sistemas de arquivos gerenciados também pode afetar o resultado. Leia a página local man chown antes de aplicar mudanças recursivas a uma árvore que contenha links ou pontos de montagem. Se o sistema de arquivos rejeitar a operação, investigue seu modelo de propriedade em vez de ampliar os privilégios repetidamente.

Para conhecer modos de acesso numéricos, continue em como funcionam os números do chmod. O GNU documenta a sintaxe completa de propriedade e as opções de percurso na referência de chown do Coreutils.

Referências

Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.

A seguir

Números do chmod explicados: 600, 644, 700 e 755

Entenda permissões numéricas do chmod, escolha modos seguros para arquivos e diretórios, confira o resultado e evite alterações recursivas arriscadas.