Group is a name service database used to store group information on Unix-like operating systems. The sources for the group database (and hence the sources for groups on a system) are configured, like other name service databases, in nsswitch.conf. The database file is located at /etc/group. It contains fields representing the group name, group id, encrypted password, and users belonging to the group. These fields are stored in a structure defined in the header file <grp.h>.
Seeing available groups on a Unix system
The contents of the group database (and available groups) can be seen with a variety of tools:
C
The <grp.h> header file contains the functions getgrgid and getgrname to look up a group by its ID or Name, as well as the functions setgrent, getgrent, and endgrent to iterate through all groups.2
Command line
The getent command can be used to fetch group information.
Fetching a list of all available groups
getent groupFetching a specific group
For a specific group called 'users':
getent group usersPython
- grp - The Group Database — a Python module
References
Stevens, W. Richard; Rago, Stephen A. (2013). Advanced programming in the UNIX environment (third ed.). Upper Saddle River (NJ): Addison-Wesley. pp. 182–183. ISBN 978-0-321-63773-4. 978-0-321-63773-4 ↩
Stevens, W. Richard; Rago, Stephen A. (2013). Advanced programming in the UNIX environment (third ed.). Upper Saddle River (NJ): Addison-Wesley. pp. 182–183. ISBN 978-0-321-63773-4. 978-0-321-63773-4 ↩