function initializes the group access list by
reading the group database /etc/group and using all groups of
which user is a member.
The additional group group is
also added to the list.
argument must be non-NULL.
function returns 0 on success.
On error, -1 is returned, and
is set appropriately.
Insufficient memory to allocate group information structure.
The calling process has insufficient privilege.
See the underlying system call