Como verificar se um usuário pertence a um grupo no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um usuário pertence a um grupo específico no Linux. Compreender a associação de um usuário a um grupo é essencial para gerenciar permissões e controle de acesso em um sistema Linux.

Você explorará três métodos diferentes para verificar a associação a um grupo: usando o comando groups para listar os grupos de um usuário, examinando o arquivo /etc/group, que contém informações sobre grupos, e utilizando o comando id para exibir as identidades de usuário e grupo. Ao final deste laboratório, você estará proficiente em determinar as afiliações de grupo de um usuário.

Listar grupos de usuários com o comando groups

Nesta etapa, exploraremos como listar os grupos aos quais um usuário pertence usando o comando groups. Compreender os grupos de usuários é fundamental no Linux, pois eles são usados para gerenciar permissões e acesso a arquivos e recursos.

O comando groups é um utilitário simples que imprime os nomes dos grupos primários e suplementares para cada nome de usuário fornecido, ou o processo atual se nenhum nome de usuário for fornecido.

Vamos descobrir a quais grupos o usuário atual (labex) pertence.

Abra seu terminal, caso ainda não esteja aberto. Você pode fazer isso clicando no ícone Xfce Terminal no lado esquerdo da área de trabalho.

Agora, digite o seguinte comando e pressione Enter:

groups

Você deve ver uma saída semelhante a esta:

labex sudo ssl-cert public

Esta saída mostra os grupos dos quais o usuário labex é membro. Neste exemplo, o usuário labex está nos grupos labex, sudo, ssl-cert e public.

  • O primeiro grupo listado geralmente é o grupo primário do usuário.
  • Os grupos subsequentes são grupos suplementares.

Ser membro do grupo sudo é importante porque permite que o usuário execute comandos com privilégios de superusuário usando o comando sudo, como você fez no laboratório anterior para instalar o htop.

Você também pode usar o comando groups para verificar os grupos de outro usuário, se souber o nome de usuário dele. Por exemplo, para verificar os grupos do usuário root, você digitaria:

groups root

A saída mostraria os grupos aos quais o usuário root pertence, que normalmente é apenas o grupo root:

root

Compreender em quais grupos um usuário está ajuda você a entender quais permissões ele tem no sistema.

Clique em Continuar para prosseguir para a próxima etapa e verificar a execução do seu comando.

Verificar associação a grupo em /etc/group

Nesta etapa, analisaremos o arquivo /etc/group, que é um arquivo de sistema crucial no Linux que armazena informações sobre grupos de usuários. Embora o comando groups forneça uma lista rápida dos grupos de um usuário, examinar /etc/group mostra quais usuários pertencem a quais grupos em todo o sistema.

O arquivo /etc/group contém uma linha para cada grupo. Cada linha tem quatro campos separados por dois pontos:

  1. Nome do Grupo: O nome do grupo.
  2. Campo de Senha: Geralmente 'x', indicando que as senhas de grupo não são usadas (ou são armazenadas em outro lugar).
  3. ID do Grupo (GID): Um identificador numérico único para o grupo.
  4. Membros: Uma lista separada por vírgulas dos usuários que são membros deste grupo. Observe que os usuários cujo grupo primário é este grupo não são listados aqui.

Podemos usar o comando cat para exibir o conteúdo deste arquivo. cat é um utilitário Unix padrão que lê arquivos sequencialmente e os grava na saída padrão.

Abra seu terminal e digite o seguinte comando para visualizar o conteúdo de /etc/group:

cat /etc/group

Pressione Enter.

Você verá muita saída, com cada linha representando um grupo diferente no sistema. Procure linhas que incluam o nome de usuário labex no quarto campo (a lista de membros).

Por exemplo, você pode ver linhas semelhantes a estas (a saída exata variará):

...
sudo:x:27:labex
...
ssl-cert:x:121:labex
...
public:x:5002:labex
...

Nestas linhas de exemplo:

  • O grupo sudo tem labex como membro.
  • O grupo ssl-cert tem labex como membro.
  • O grupo public tem labex como membro.

Observe que o próprio grupo labex pode não listar labex como membro no quarto campo se labex for seu grupo primário.

Visualizar /etc/group oferece uma visão mais detalhada das configurações de grupo em comparação com a saída simples do comando groups. É um arquivo valioso para os administradores de sistema entenderem as permissões do usuário.

Clique em Continuar para passar para a próxima etapa.

Verificar grupos de usuários com o comando id

Nesta etapa, revisaremos o comando id que você usou no primeiro laboratório. O comando id fornece uma visão abrangente da identidade de um usuário, incluindo seu ID de Usuário (UID), ID de Grupo (GID) primário e todos os grupos dos quais ele é membro. Este comando é uma maneira rápida de verificar as associações a grupos.

Você já usou id para ver seu UID e GID. Agora, vamos nos concentrar na parte groups de sua saída e compará-la com o que você viu com o comando groups e no arquivo /etc/group.

Abra seu terminal e digite o seguinte comando:

id

Pressione Enter.

Você verá uma saída semelhante a esta:

uid=XXXX(labex) gid=XXXX(labex) groups=XXXX(labex),XX(sudo),XXX(ssl-cert),XXXX(public)

(Observação: XXXX e XX são espaços reservados para os IDs numéricos reais, que podem variar ligeiramente, mas os nomes dos grupos devem ser consistentes).

Vamos detalhar a saída novamente, focando na seção groups:

  • uid=XXXX(labex): Seu ID de Usuário e nome de usuário.
  • gid=XXXX(labex): Seu ID de Grupo primário e nome do grupo primário.
  • groups=XXXX(labex),XX(sudo),XXX(ssl-cert),XXXX(public): Uma lista separada por vírgulas de todos os grupos dos quais você é membro, incluindo seu grupo primário e quaisquer grupos suplementares.

Compare a lista de nomes de grupos na seção groups= da saída do comando id com a saída que você obteve do comando groups na Etapa 1. Você deve ver a mesma lista de nomes de grupos.

O comando id é frequentemente preferido ao comando groups porque também fornece os IDs numéricos (UID e GID), que podem ser úteis em scripts e tarefas de administração do sistema. Ele fornece uma imagem completa da identidade de um usuário e das associações a grupos em uma única linha de saída.

Você agora aprendeu três maneiras diferentes de verificar as associações a grupos de usuários no Linux: usando o comando groups, examinando o arquivo /etc/group e usando o comando id. Cada método fornece informações ligeiramente diferentes e é útil em contextos diferentes.

Clique em Continuar para concluir esta etapa e o laboratório.

Resumo

Neste laboratório, aprendemos como verificar se um usuário pertence a um grupo no Linux usando três métodos diferentes. Primeiro, utilizamos o comando groups para listar rapidamente os grupos primários e suplementares para um usuário especificado ou o usuário atual, entendendo que a associação a grupos dita permissões e acesso.

Em seguida, exploramos o arquivo /etc/group, um arquivo de sistema fundamental que contém informações detalhadas sobre grupos, e aprendemos a interpretar sua estrutura para verificar diretamente as associações a grupos. Finalmente, usamos o comando id, um utilitário versátil que fornece informações abrangentes sobre usuários e grupos, incluindo ID de usuário, ID de grupo primário e todos os IDs de grupo suplementares, oferecendo outra maneira de confirmar as afiliações a grupos.