--- arpwatch.c 2012-07-26 10:39:29.000000000 +0000 +++ arpwatch.c.oden 2012-07-26 10:43:55.000000000 +0000 @@ -148,7 +148,7 @@ void dropprivileges(const char* user) struct passwd* pw; pw = getpwnam( user ); if ( pw ) { - if ( initgroups(pw->pw_name, NULL) != 0 || setgid(pw->pw_gid) != 0 || + if ( setgid(pw->pw_gid) != 0 || setgroups(0, NULL) != 0 || setuid(pw->pw_uid) != 0 ) { syslog(LOG_ERR, "Couldn't change to '%.32s' uid=%d gid=%d", user, pw->pw_uid, pw->pw_gid);