#include "lslib.h" #include #include #include #include void change_identity(const struct passwd* pw) { int res; res = initgroups(pw->pw_name, pw->pw_gid); endgrent(); if (res != 0) { if (errno == ENOSYS && pw->pw_uid == getuid()) { return; } error("can't set groups"); } xsetgid(pw->pw_gid); xsetuid(pw->pw_uid); }