--- a/src/utils.c +++ b/src/utils.c @@ -88,9 +88,11 @@ gboolean drop_effective_user_to_sudo () if (sudo_uid != NULL) { - seteuid(atol(sudo_uid)); + setgroups(0, NULL); + seteuid(atol(sudo_uid)); dropped = TRUE; if (sudo_gid != NULL) + setgroups(0, NULL); setegid(atol(sudo_gid)); } } @@ -99,6 +101,7 @@ gboolean drop_effective_user_to_sudo () void restore_effective_user () { + setgroups(0, NULL); seteuid(getuid()); setegid(getgid()); }