--- openrc-0.4.1-orig/src/rc/start-stop-daemon.c +++ openrc-0.4.1/src/rc/start-stop-daemon.c @@ -1087,10 +1087,10 @@ int start_stop_daemon(int argc, char **a if (gid && setgid(gid)) eerrorx("%s: unable to set groupid to %d", applet, gid); - if (changeuser && initgroups(changeuser, gid)) - eerrorx("%s: initgroups (%s, %d)", applet, changeuser, gid); - if (uid) { - if (setuid(uid)) + if (changeuser) { + if (initgroups(changeuser, gid)) + eerrorx("%s: initgroups (%s, %d)", applet, changeuser, gid); + if (uid && setuid(uid)) eerrorx ("%s: unable to set userid to %d", applet, uid); pw = getpwuid(uid); if (pw) {