Comandos chgrp e chown

A segurança em sistemas Linux (e Unix em geral) é constituída a partir dos conceitos de propriedade dos arquivos e de permissões de arquivos. Neste artigo estudaremos a posse dos arquivos, falando sobre Proprietário e Grupo de um arquivo.

Cada arquivo (e diretório) tem um proprietário individual, geralmente o usuário que o criou, e um grupo com o qual é associado – o “grupo do arquivo”.

Cada grupo pode ter diversos usuários como membros, o que combinado com o conceito de proprietário dos arquivos nos permite fornecer três camadas para controle de acesso aos arquivos e diretórios: usuário proprietário do arquivo, grupo do arquivo, e todos os demais usuários – os “outros”.

Podemos verificar quem é o proprietário de um arquivo ou diretório e seu grupo padrão usando o comando ls com a opção de listagem longa (-l):

ls -l

comando-ls-linux

Observe que no exemplo, todas as pastas e o arquivo curriculum são de propriedade do usuário fabio e estão associados ao grupo fabio. A primeira coluna da esquerda para a direita, logo após a string de permissões (caracteres r, w, x e -) mostra o usuário proprietário e a coluna seguinte, ao lado do tamanho dos arquivos, é o grupo.

Podemos perceber também que ambos são iguais – o nome do proprietário e o grupo – pois este é um comportamento padrão do sistema: quando um usuário cria um arquivo, automaticamente o arquivo é associado ao grupo padrão do usuário.

Vejamos agora como alterar o proprietário de um arquivo e seu grupo associado.

Alterando o proprietário de um arquivo – Comando chown

Podemos alterar o proprietário de um arquivo usando o comando chown (“change owner”). Somente o usuário root pode efetuar essa alteração.

Sintaxe:

chown [opções][novo_proprietátio][:novo_grupo] nomes_arquivos

Veja que o comando chown também permite alterar o grupo associado dos arquivos indicados.

Por exemplo, vamos alterar o proprietário do arquivo curriculum para um usuário chamado renata (já existente no sistema):

sudo chown renata curriculum

comando-chown-linux

Podemos também alterar o grupo do arquivo juntamente com o usuário. Por exemplo, vamos alterar o usuário do arquivo curriculum para ana e seu grupo para marketing ao mesmo tempo:

sudo chown ana:marketing curriculum

comando-chown-linux-ubuntu

Há poucas opções disponíveis para o comando chown, mas uma das mais úteis é a opção -R ou –recursive, que permite alterar a propriedade do arquivo em uma árvore de diretórios inteira.

Tomemos como exemplo o diretório planilhas que contém 5 arquivos de planilhas, todas pertencentes ao usuário fabio:

comando-ls-linux-ubuntu

Queremos alterar o proprietário do diretório e  todos esses arquivos para a usuária renata, de uma vez. Usaremos então a opção –recursive (ou -R) para isso:

sudo chown -recursive renata ./planilhas

comando-chown-linux-debian

Veja que todas as planilhas passaram a ser propriedade da usuária renata.

Se um usuário for removido, os arquivos dos quais esse usuário era proprietário se mantém no sistema, e no lugar do nome do proprietário aparecerá o UID que o usuário possuía. Por exemplo, vamos excluir a usuária renata e depois verificar como ficou a posse de seus arquivos:

comando-ls-linux-debian

Agora, o usuário proprietário dos arquivos mostra apenas o número 1001, que era o UID do usuário renata.

Alterando o grupo de um arquivo – Comando chgrp

Para alterar apenas o grupo de um arquivo usaremos o comando chgrp, que pode ser executado pelo root (sempre) ou por um usuário comum (desde que o grupo seja alterado para um grupo ao qual o usuário pertença).

Sintaxe:

chgrp [opções] novo_grupo arquivos

As opções do comando chgrp são similares às do comando chown, como por exemplo a opção -R (–recursive).

Exemplos:

Vamos alterar o grupo do arquivo planilha-01 para o grupo marketing com o comando chgrp:

sudo chgrp marketing planilha-01

comando-chgrp-linux-ubuntu

Num próximo artigo veremos como controlar o acesso a arquivos alterando suas permissões de acesso.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *