diff --git a/NEWS b/NEWS index 50eb77686..2c145191e 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.18.7 (not yet released) +* daemon: don't initialize supplementary groups when already running + as the configured user ver 0.18.6 (2013/12/24) * input diff --git a/src/Daemon.cxx b/src/Daemon.cxx index d40c49d5d..557c47777 100644 --- a/src/Daemon.cxx +++ b/src/Daemon.cxx @@ -116,7 +116,11 @@ daemonize_set_user(void) /* init supplementary groups * (must be done before we change our uid) */ - if (!had_group && initgroups(user_name, user_gid) == -1) { + if (!had_group && + /* no need to set the new user's supplementary groups if + we are already this user */ + user_uid != getuid() && + initgroups(user_name, user_gid) == -1) { FormatFatalSystemError("Failed to set supplementary groups " "of user \"%s\"", user_name);