From f1c9581da98ab2376ab05ce6d9dfcc02561744a5 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Wed, 18 Oct 2017 11:05:59 +0200 Subject: [PATCH] service_start(): Must set GID before dropping user privs, obvs Signed-off-by: Joachim Nilsson --- src/service.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/service.c b/src/service.c index 1e1c31d7..b9cf760c 100644 --- a/src/service.c +++ b/src/service.c @@ -192,6 +192,9 @@ static int service_start(svc_t *svc) char *args[MAX_NUM_SVC_ARGS]; /* Set desired user+group */ + if (gid >= 0) + setgid(gid); + if (uid >= 0) { setuid(uid); @@ -204,9 +207,6 @@ static int service_start(svc_t *svc) } } - if (gid >= 0) - setgid(gid); - /* Serve copy of args to process in case it modifies them. */ for (i = 0; i < (MAX_NUM_SVC_ARGS - 1) && svc->args[i][0] != 0; i++) args[i] = svc->args[i];