1#define _GNU_SOURCE 2#include <grp.h> 3#include <limits.h> 4 5int 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