blob: 2925297630be52471f46b3fb7af5dc8c430eaae5 [file] [log] [blame]
\section{\module{grp} ---
The group database}
\declaremodule{builtin}{grp}
\platform{Unix}
\modulesynopsis{The group database (\function{getgrnam()} and friends).}
This module provides access to the \UNIX{} group database.
It is available on all \UNIX{} versions.
Group database entries are reported as 4-tuples containing the
following items from the group database (see \code{<grp.h>}), in order:
\begin{tableiii}{r|l|l}{textrm}{Index}{Field}{Meaning}
\lineiii{0}{gr_name}{the name of the group}
\lineiii{1}{gr_passwd}{the (encrypted) group password; often empty}
\lineiii{2}{gr_gid}{the numerical group ID}
\lineiii{3}{gr_mem}{all the group member's user names}
\end{tableiii}
The gid is an integer, name and password are strings, and the member
list is a list of strings.
(Note that most users are not explicitly listed as members of the
group they are in according to the password database.)
\exception{KeyError} is raised if the entry asked for cannot be found.
It defines the following items:
\begin{funcdesc}{getgrgid}{gid}
Return the group database entry for the given numeric group ID.
\end{funcdesc}
\begin{funcdesc}{getgrnam}{name}
Return the group database entry for the given group name.
\end{funcdesc}
\begin{funcdesc}{getgrall}{}
Return a list of all available group entries, in arbitrary order.
\end{funcdesc}
\begin{seealso}
\seemodule{pwd}{An interface to the user database, similar to this.}
\end{seealso}