Como listar grupos no Linux

Guia para vários comandos e técnicas no Linux para listar grupos

No ecossistema Linux, a coleção de usuários é chamada de ‘Grupo’. Quando um usuário é adicionado a um grupo, estamos definindo as permissões de um usuário Linux. Os grupos também definem a quais arquivos, configurações e pastas o usuário deve ter acesso.

Em termos mais simples, os grupos ajudam você a descobrir e definir os privilégios como ler (r), escrever (C) e execute (x) sobre um recurso compartilhado entre os usuários. Você também pode alterar essas permissões como e quando necessário.

Descobrir os grupos aos quais uma conta de usuário pertence o ajudará a aprender sobre as permissões de um determinado usuário e também a alterar as permissões sempre que necessário.

Este breve tutorial o ajudará a descobrir os grupos aos quais um usuário pertence usando alguns comandos e técnicas bem simples.

Pré-requisitos importantes

Antes de aprofundar o tutorial, seria útil se você tivesse uma visão geral básica de alguns dos conceitos. Eu recomendo que os iniciantes passem por esses conceitos primeiro.

Grupo: Uma coleção de usuários no sistema Linux. Um único usuário pode ser membro de mais de um grupo. Um grupo define quais permissões um usuário possui.

Grupo Primário: O grupo primário é o grupo principal associado à conta do usuário. Cada usuário deve ser membro de um único grupo primário. Ele é criado ao mesmo tempo em que a conta do usuário é criada e o usuário é automaticamente adicionado a este grupo. Normalmente, o nome do grupo principal é igual ao nome do usuário.

Grupo Secundário:O grupo secundário é opcional e um usuário pode ou não ter um grupo secundário. É usado para conceder alguns direitos adicionais ao usuário. O usuário pode ser membro de vários grupos secundários.

/ etc / group Arquivo: No Linux, a associação do grupo é controlada pelo / etc / group Arquivo. É um arquivo de texto simples contendo uma lista de grupos e os usuários pertencentes a cada grupo.

/ etc / passwd Arquivo: Este arquivo contém informações para todas as contas de usuário no sistema. Há uma entrada de uma conta de usuário por linha representada neste arquivo.

Usando o grupos comando

Usando o grupos comando é um processo super simples para listar os grupos aos quais o usuário atual pertence. Você também pode usar este comando para listar os grupos de um usuário específico registrado no sistema.

Sintaxe:

grupos

Saída:

gaurav @ ubuntu: ~ $ grupos gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav @ ubuntu: ~ $

Encontrar um grupo de um usuário específico.

Sintaxe:

grupos [nome de usuário]

Exemplo:

gaurav @ ubuntu: ~ $ groups tomcat tomcat: tomcat lpadmin sambashare gaurav @ ubuntu: ~ $ 

Neste exemplo, listei os grupos para os quais o usuário nomeou gato pertence.

Usando o identificação comando

Usando o identificação comando exibe as informações do grupo do usuário. Mostra parâmetros como uid (ID do usuário), gid (id do grupo) e a lista de grupos aos quais o usuário pertence.

Sintaxe:

id [nome de usuário]

Exemplo:

gaurav @ ubuntu: ~ $ id tomcat uid = 1002 (tomcat) gid = 1002 (tomcat) grupos = 1002 (tomcat), 113 (lpadmin), 128 (sambashare) gaurav @ ubuntu: ~ $

identificação comando quando usado sem um argumento retorna as informações do grupo sobre o usuário atual.

Exemplo:

gaurav @ ubuntu: ~ $ id uid = 1000 (gaurav) gid = 1000 (gaurav) grupos = 1000 (gaurav), 4 (adm), 24 (cdrom), 27 (sudo), 30 (dip), 46 (plugdev) , 113 (lpadmin), 128 (sambashare) gaurav @ ubuntu: ~ $

Aqui, as informações do grupo do usuário atual são exibidas.

Usando o arquivo / etc / group

Conforme discutido no bloco de pré-requisitos, sabemos que / etc / group arquivo contém todas as informações dos grupos disponíveis no sistema. Podemos usar este arquivo para ver a lista dos grupos usando um comando simples como segue.

Você pode usar gato, menos ou grep comando para listar abrir o conteúdo deste arquivo.

menos / etc / group

Saída:

root: x: 0: daemon: x: 1: bin: x: 2: sys: x: 3: adm: x: 4: syslog, gaurav tty: x: 5: disco: x: 6: lp: x: 7 : mail: x: 8: news: x: 9: uucp: x: 10: man: x: 12: proxy: x: 13: kmem: x: 15: dialout: x: 20: fax: x: 21: voz : x: 22: cdrom: x: 24: disquete gaurav: x: 25: fita: x: 26: sudo: x: 27: áudio gaurav: x: 29: mergulho de pulso: x: 30: gaurav, batman www-data : x: 33:

Isso listará todos os grupos no sistema Linux.

Listando todos os grupos usando getent comando

getent comando pode ser usado para exibir uma lista de todos os grupos disponíveis em seu sistema Linux. A saída é semelhante à do conteúdo de / etc / group Arquivo.

Usando grupo getent comando exibe as entradas de bancos de dados configurados em /etc/nsswitch.conf Arquivo.

Sintaxe:

grupo getent

Exemplo:

gaurav @ ubuntu: ~ $ getent group root: x: 0: daemon: x: 1: bin: x: 2: sys: x: 3: adm: x: 4: syslog, gaurav tty: x: 5: disco: x : 6: lp: x: 7: mse dip: x: 30: gaurav, batman: x: 39: stmp: x: 43: vídeo: x: 44: sasl: x: 45: plugdev: x: 46: gaurav staff : x: 50: jogos: x: 60: usuários: x: 100: 106: crontab: x: 107: vahi: x: 120: bluetooth: x: 121: scanner: x: 122: saned colord: x: 123: pulso: x: 124: acesso de pulso: x: 125: rtkit: x: 126: saned: x: 127: trindade: x: 1000: sambashare: x: 128: gaurav mongodb: x: 130: mongodb guest-tqrhc7: x: 999: guest-piinii: x: 998: scala: x: 997: sbt: x: 996: guest-oi9xaf: x: 995: tomcat: x: 1001: tomcat7: x: 132: tomcat8: x: 133: geoclue: x: 105: gdm: x: 134: mysql: x: 129: couchdb: x: 131: temporário: x: 1002:

Para encontrar o grupo de um usuário específico, use o seguinte comando.

grupo getent | grep [nome de usuário]

Exemplo:

gaurav @ ubuntu: ~ $ getent group | grep gaurav adm: x: 4: syslog, gaurav cdrom: x: 24: gaurav sudo: x: 27: gaurav dip: x: 30: gaurav, batman plugdev: x: 46: gaurav lpadmin: x: 113: gaurav gaurav: x: 1000: sambashare: x: 128: gaurav gaurav @ ubuntu: ~ $ 

Todos os grupos associados ao usuário gaurav agora estão listados no terminal.

Usando libuser-lid comando

libuser-lid comando exibe informações sobre grupos que contêm nome de usuário ou usuários contidos em nome de grupo.

NOTA: Este comando requer sudo privilégios. Caso contrário, você encontrará um erro da seguinte forma-

Nenhum nome de usuário especificado,

Erro ao inicializar libuser: não executando com privilégios de superusuário

No caso de libuser-lid utilitário não está disponível em suas distros, você pode usar o seguinte comando para instalá-lo.

Por Ubuntu e Debian Comercial:

sudo apt-get update
sudo apt-get install libuser

Por CentOS, Fedora e outras distros:

sudo yum install libuser

Sintaxe:

sudo libuser-lid [nome de usuário]

Exemplo:

gaurav @ ubuntu: ~ $ sudo libuser-lid gaurav 

Saída:

adm (gid = 4) cdrom (gid = 24) sudo (gid = 27) dip (gid = 30) plugdev (gid = 46) lpadmin (gid = 113) trinity (gid = 1000) sambashare (gid = 128)

Aqui, são listados todos os grupos associados ao nome de usuário inserido.

Conclusão

Neste tutorial super simples, agora aprendemos a exibir os grupos disponíveis nos sistemas Linux. Os comandos explicados neste tutorial podem ser aplicados em todas as distribuições Linux da mesma maneira.