Você pode listar grupos usando getent
ou, se não estiver presente, procure/etc/group
Ao executar o comando, o GID é o terceiro valor na saída, por exemplo:
$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:
Portanto, para listar apenas nomes de grupos e seus GIDs, use awk
para imprimir as colunas que você deseja assim:
$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
Veja também http://man7.org/linux/man-pages/man1/getent.1.html
No caso em que getent
não está presente.
$ grep $group /etc/group
O GID é o terceiro valor na saída. Por exemplo
$ grep users /etc/group
users:x:100:
No exemplo acima, o GID para os usuários do grupo é 100. Para obter apenas o nome do grupo e o GID, você pode usar o awk e o grep assim:
$ cat /etc/group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
Esteja ciente de que, para sistemas configurados para usar autenticação externa (como LDAP), todos os grupos não estarão presentes no arquivo / etc / group. Veja também http://www.cyberciti.biz/faq/understanding-etcgroup-file/
groups
comando