Comandos chgrp e chown – Alterar proprietário e grupo dos arquivos no Linux

Como usar os comandos chgrp e chown no Linux

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 -l no Linux
Observe que no meu 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ário] [: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 no 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 no 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á ou 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
Para entender melhor como funcionam as permissões de acesso no Linux leia este artigo.

Para saber como alterar as permissões de acesso no Linux, aprenda a usar o comando chmod.

Você pode também assistir a um vídeo sobre o assunto:

 
Sobre Fábio dos Reis (1197 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

5 Comentários em Comandos chgrp e chown – Alterar proprietário e grupo dos arquivos no Linux

  1. Legal, ótima vídeo-aula. Muito obrigado.

  2. Muito bom.
    esse novo formato (Tutorial em Texto e Vídeo) ficou muito bom, para o melhor entendimento em caso de dúvidas e também da pra detalhar mais.
    Valeu Fábio, Parabéns pelo trabalho.

  3. chown: grupo inválido: “root:Domain Admins”

  4. Fabio, eu tenho um raspberry para fazer lab e eu deixei ele aberto para rede publica e um unico user com permissão de sudo.
    Cheguei aqui um belo dia e o prompt havia sido alterado com a mensagem “Eu não tenho nome!” e ao dar um ls -la com o este usuario aparem numeros e não nome do dono. Eu posso subir outra máquina .. mas fiquei curioso. Como fizeram isso ? como resolver isso ?

    Eu não tenho nome!@sun:~ $ ls -la
    total 3356
    drwxr-xr-x 4 1001 1001 4096 abr 3 19:36 .
    drwxr-xr-x 6 0 0 4096 abr 3 17:49 ..
    -rw-r–r– 1 1001 1001 0 abr 3 18:12 auditoria
    -rw——- 1 1001 1001 9799 abr 3 20:50 .bash_history
    -rw-r–r– 1 1001 1001 220 dez 29 14:51 .bash_logout
    -rw-r–r– 1 1001 1001 3576 fev 1 18:58 .bashrc
    -rw——- 1 1001 1001 34 jan 18 18:48 .lesshst
    -rwxr-x— 1 1001 1001 412 jan 21 18:47 limpar_cache_memoria_swap.sh
    -rwxr-x— 1 1001 1001 1259 jan 21 18:47 limpar_cache_memoria_systema.sh
    -rw-r–r– 1 1001 1001 1670 dez 29 14:51 .mkshrc
    -rw-r–r– 1 0 0 3358720 dez 29 17:01 pivpn
    -rw-r–r– 1 1001 1001 954 abr 1 00:21 .profile
    drwxr-xr-x 2 1001 1001 4096 abr 3 19:36 scripts
    -rw-r–r– 1 1001 1001 75 jan 3 21:55 .selected_editor
    drwx—— 2 1001 1001 4096 fev 6 02:48 .ssh
    -rw-r–r– 1 1001 1001 0 jan 20 20:48 test
    -rw——- 1 1001 1001 10010 abr 3 19:36 .viminfo

Escreva um comentário

Seu e-mail não será divulgado


*