blob: b498763e2608f0abbfc8082d6a3d89c067e46268 [file] [log] [blame]
#define _GNU_SOURCE
#include <grp.h>
#include <limits.h>
int initgroups(const char* user, gid_t gid) {
gid_t groups[NGROUPS_MAX];
int count = NGROUPS_MAX;
if (getgrouplist(user, gid, groups, &count) < 0)
return -1;
return setgroups(count, groups);
}