1 #define _GNU_SOURCE
2 #include <grp.h>
3 #include <limits.h>
4 
initgroups(const char * user,gid_t gid)5 int initgroups(const char* user, gid_t gid) {
6     gid_t groups[NGROUPS_MAX];
7     int count = NGROUPS_MAX;
8     if (getgrouplist(user, gid, groups, &count) < 0)
9         return -1;
10     return setgroups(count, groups);
11 }
12