getent (vem com libc-bin ) é o que você está procurando.
Você deseja analisar o banco de dados group ( /etc/group e / ou semelhante), por exemplo:
getent group adm
você receberá a entrada relevante para o grupo adm , incluindo as informações de associação do grupo.
Os campos são:
<group_name>:<group_password>:<group_id>:<members>
Se você quiser apenas os nomes de usuário dos membros:
getent group adm | awk -F: '{print $NF}'
A vantagem adicional de getent é que ele também buscaria os dados da rede, se configurado em /etc/nsswitch.conf .
No meu sistema:
% getent group adm
adm:x:4:syslog,foobar
% getent group adm | awk -F: '{print $NF}'
syslog,foobar