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.

chown

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 têm 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 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 através usuários com privilégios de super-usuá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.

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 super usuá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 estes 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 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 depois de 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 uando 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 nós executarmos o executado:

Executá-lo dessa forma é muito útil quando há vários arquivos dentro de um único diretório. Porem, 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

Sabermos 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 executamos 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âmentro –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 vir a 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

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!