Android

Como listar grupos no linux

Ajuda Linux - Dia 853 - Como listar usuários e grupos no Linux

Ajuda Linux - Dia 853 - Como listar usuários e grupos no Linux

Índice:

Anonim

No Linux, um grupo é uma coleção de usuários. O principal objetivo dos grupos é definir um conjunto de privilégios, como ler, gravar ou executar permissões para um determinado recurso que pode ser compartilhado entre os usuários dentro do grupo. Os usuários podem ser adicionados a um grupo existente para utilizar os privilégios que ele concede.

Este tutorial explica como mostrar todos os grupos dos quais um usuário é membro. Também explicaremos como listar todos os membros de um grupo.

Grupos Linux

Existem dois tipos de grupos aos quais um usuário pode pertencer:

  • Grupo principal ou de logon - é o grupo designado aos arquivos criados pelo usuário. Geralmente, o nome do grupo principal é igual ao nome do usuário. Cada usuário deve pertencer a exatamente um grupo principal.

    Grupo secundário ou complementar - usado para conceder certos privilégios a um conjunto de usuários. Um usuário pode ser membro de zero ou mais grupos secundários.

Listar todos os grupos dos quais um usuário é membro

Existem várias maneiras de descobrir os grupos aos quais um usuário pertence.

O grupo do usuário principal é armazenado no arquivo /etc/passwd e os grupos suplementares, se houver, são listados no arquivo /etc/group .

Uma maneira de encontrar os grupos de usuários é listar o conteúdo desses arquivos usando cat , less ou grep . Outra opção mais fácil é usar um comando cujo objetivo é fornecer informações sobre os usuários e grupos do sistema.

Usando o comando groups

O comando mais memorável para listar todos os grupos dos quais um usuário é membro é o comando groups . Quando executado sem argumento, o comando imprimirá uma lista de todos os grupos aos quais o usuário atualmente conectado pertence:

groups

O primeiro grupo é o grupo principal.

john adm cdrom sudo dip plugdev lpadmin sambashare

Para obter uma lista de todos os grupos aos quais um usuário específico pertence, forneça o nome de usuário ao comando groups como argumento:

groups linuxize

O mesmo que antes do primeiro grupo é o grupo principal.

linuxize: linuxize sudo

Usando o comando id

O comando id imprime informações sobre o usuário especificado e seus grupos. Se o nome de usuário for omitido, ele mostra informações para o usuário atual.

Por exemplo, para obter informações sobre o usuário linuxize , digite:

id linuxize

O comando mostrará o nome de usuário ( uid ), o grupo principal do usuário ( gid ) e os grupos secundários do usuário ( groups )

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)

Para imprimir apenas os nomes sem os IDs de usuário e grupo, use a opção -n . A opção -g imprimirá apenas o grupo principal e -G todos os grupos.

O comando a seguir imprimirá os nomes dos grupos dos quais o usuário atual é membro:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Listar todos os membros de um grupo

Para listar todos os membros de um grupo, use o comando getent group seguido pelo nome do grupo.

Por exemplo, para descobrir os membros de um grupo com o nome developers você usaria o seguinte comando:

getent group developers

Se o grupo existir, o comando imprimirá o grupo e todos os seus membros:

developers:x:126:frank, mary

Se não houver saída, significa que o grupo não existe.

Listar todos os grupos

Para visualizar todos os grupos presentes no sistema, basta abrir o arquivo /etc/group . Cada linha neste arquivo representa informações para um grupo.

less /etc/group

Outra opção é usar o comando getent que exibe entradas de bancos de dados configurados no arquivo /etc/nsswitch.conf incluindo o banco de dados do group que podemos usar para consultar uma lista de todos os grupos.

Para obter uma lista de todos os grupos, digite o seguinte comando:

getent group

A saída é a mesma da exibição do conteúdo do arquivo /etc/group . Se você estiver usando LDAP para autenticação do usuário, o getent exibirá todos os grupos do arquivo /etc/group e do banco de dados LDAP.

Você também pode usar awk ou cut para imprimir apenas o primeiro campo que contém o nome do grupo:

getent group | awk -F: '{ print $1}'

getent group | cut -d: -f1

Conclusão

Neste tutorial, você aprendeu como encontrar os grupos dos quais um usuário é membro. Os mesmos comandos se aplicam a qualquer distribuição Linux, incluindo Ubuntu, CentOS, RHEL, Debian e Linux Mint.

Sinta-se livre para deixar um comentário se tiver alguma dúvida.

terminal