diff -Naur --exclude '*~' partimage-0.6.7/src/shared/privs.cpp partimage-0.6.7-set-effective-gid/src/shared/privs.cpp --- partimage-0.6.7/src/shared/privs.cpp 2008-02-03 22:57:55.000000000 +0100 +++ partimage-0.6.7-set-effective-gid/src/shared/privs.cpp 2008-05-07 11:06:51.000000000 +0200 @@ -52,8 +52,10 @@ { switched = true; user = password -> pw_uid; + group = password -> pw_gid; setuid(0); seteuid(user); // we're now _user + setegid(group); // we're now _user } else { diff -Naur --exclude '*~' partimage-0.6.7/src/shared/privs.h partimage-0.6.7-set-effective-gid/src/shared/privs.h --- partimage-0.6.7/src/shared/privs.h 2008-02-03 22:57:55.000000000 +0100 +++ partimage-0.6.7-set-effective-gid/src/shared/privs.h 2008-05-07 11:07:10.000000000 +0200 @@ -30,6 +30,7 @@ bool AsSwitched() { return switched; } private: uid_t user; + gid_t group; bool switched; };