#include "err.h"
#include <errno.h>
#include <fcntl.h>
+#include <grp.h>
+#include <limits.h>
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
-#include <limits.h>
#define PATH_DEVNULL "/dev/null"
err(1, "chroot(\"%s\") failed", chroot_dir);
verbosef("chrooted into: %s", chroot_dir);
}
+ {
+ gid_t list[1];
+ list[0] = pw->pw_gid;
+ if (setgroups(1, list) == -1)
+ err(1, "setgroups");
+ }
if (setgid(pw->pw_gid) == -1)
err(1, "setgid");
if (setuid(pw->pw_uid) == -1)