Existe algum comando para listar todos os nomes de grupos Unix?

Eu sei que existe o arquivo /etc/group que lista todos os grupos de usuários.

Eu gostaria de saber se existe um simples comando para listar todos os nomes de grupos de usuários apesar de analisar o arquivo /etc/group legível no mundo. Eu estou disposto a criar uma página web de administrador que lista contas Linux' nomes de grupos.

Solução

Para listar todos os grupos locais que têm usuários atribuídos a eles, use este comando:

cut -d: -f1 /etc/group | sort

Para mais info- > Grupos Unix, Comando de corte, comando sort

Comentários (4)

Se você quiser todos os grupos conhecidos pelo sistema, eu recomendaria utilizar getent em vez de analisar /etc/group. Em sistemas em rede, os grupos podem não só ler do arquivo /etc/group mas também ser obtidos através do LDAP ou Yellow Pages, ou seja, a lista de grupos conhecidos vem do arquivo de grupo local mais os grupos recebidos via LDAP ou YP.

O getent group lhe dará uma lista de todos os grupos no mesmo formato que o arquivo /etc/group utiliza.

Se você quiser apenas os nomes dos grupos, getent group | cut -d: -f1 irá fazer o trabalho (o mesmo que acima).

Comentários (3)

No Linux, macOS e Unix para exibir os grupos aos quais você pertence, use:

id -Gn

que é equivalente ao utilitário `groups' que foi obsoleto no Unix (conforme manual Unix).

Em macOS e Unix, o comando id -p é sugerido para interatividade normal.

Explicação dos parâmetros:

-G, --grupos - imprimir todos os IDs de grupos

-n, --nome - imprimir um nome em vez de um número, para -ugG.

-p - Torne a saída legível para humanos.

Comentários (5)