@@ -2991,9 +2991,9 @@ def do_start_service_from(self, conf):
29912991 exe , newcmd = self .exec_newcmd (cmd , env , conf )
29922992 logg .info (" pre-start %s" , shell_cmd (newcmd ))
29932993 forkpid = os .fork ()
2994- if not forkpid :
2994+ if not forkpid :
29952995 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
2996- runAsRoot = permissionsStartOnly
2996+ runAsRoot = permissionsStartOnly or exe . nouser
29972997 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
29982998 run = subprocess_waitpid (forkpid )
29992999 logg .debug (" pre-start done (%s) <-%s>" ,
@@ -3016,7 +3016,7 @@ def do_start_service_from(self, conf):
30163016 forkpid = os .fork ()
30173017 if not forkpid : # pragma: no cover
30183018 os .setsid () # detach child process from parent
3019- self .execve_from (conf , newcmd , env )
3019+ self .execve_from (conf , newcmd , env , exe . nouser )
30203020 run = subprocess_waitpid (forkpid )
30213021 if run .returncode and exe .check :
30223022 returncode = run .returncode
@@ -3050,7 +3050,7 @@ def do_start_service_from(self, conf):
30503050 forkpid = os .fork ()
30513051 if not forkpid : # pragma: no cover
30523052 os .setsid () # detach child process from parent
3053- self .execve_from (conf , newcmd , env )
3053+ self .execve_from (conf , newcmd , env , exe . nouser )
30543054 self .write_status_from (conf , MainPID = forkpid )
30553055 logg .info ("%s started PID %s" , runs , forkpid )
30563056 env ["MAINPID" ] = strE (forkpid )
@@ -3093,7 +3093,7 @@ def do_start_service_from(self, conf):
30933093 forkpid = os .fork ()
30943094 if not forkpid : # pragma: no cover
30953095 os .setsid () # detach child process from parent
3096- self .execve_from (conf , newcmd , env )
3096+ self .execve_from (conf , newcmd , env , exe . nouser )
30973097 # via NOTIFY # self.write_status_from(conf, MainPID=forkpid)
30983098 logg .info ("%s started PID %s" , runs , forkpid )
30993099 mainpid = forkpid
@@ -3135,7 +3135,7 @@ def do_start_service_from(self, conf):
31353135 forkpid = os .fork ()
31363136 if not forkpid : # pragma: no cover
31373137 os .setsid () # detach child process from parent
3138- self .execve_from (conf , newcmd , env )
3138+ self .execve_from (conf , newcmd , env , exe . nouser )
31393139 logg .info ("%s started PID %s" , runs , forkpid )
31403140 run = subprocess_waitpid (forkpid )
31413141 if run .returncode and exe .check :
@@ -3170,7 +3170,7 @@ def do_start_service_from(self, conf):
31703170 forkpid = os .fork ()
31713171 if not forkpid :
31723172 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3173- runAsRoot = permissionsStartOnly
3173+ runAsRoot = permissionsStartOnly or exe . nouser
31743174 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
31753175 run = subprocess_waitpid (forkpid )
31763176 logg .debug ("post-fail done (%s) <-%s>" ,
@@ -3185,7 +3185,7 @@ def do_start_service_from(self, conf):
31853185 forkpid = os .fork ()
31863186 if not forkpid :
31873187 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3188- runAsRoot = permissionsStartOnly
3188+ runAsRoot = permissionsStartOnly or exe . nouser
31893189 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
31903190 run = subprocess_waitpid (forkpid )
31913191 logg .debug ("post-start done (%s) <-%s>" ,
@@ -3294,9 +3294,9 @@ def do_start_socket_from(self, conf):
32943294 exe , newcmd = self .exec_newcmd (cmd , env , conf )
32953295 logg .info (" pre-start %s" , shell_cmd (newcmd ))
32963296 forkpid = os .fork ()
3297- if not forkpid :
3297+ if not forkpid :
32983298 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3299- runAsRoot = permissionsStartOnly
3299+ runAsRoot = permissionsStartOnly or exe . nouser
33003300 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
33013301 run = subprocess_waitpid (forkpid )
33023302 logg .debug (" pre-start done (%s) <-%s>" ,
@@ -3338,7 +3338,7 @@ def do_start_socket_from(self, conf):
33383338 forkpid = os .fork ()
33393339 if not forkpid :
33403340 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3341- runAsRoot = permissionsStartOnly
3341+ runAsRoot = permissionsStartOnly or exe . nouser
33423342 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
33433343 run = subprocess_waitpid (forkpid )
33443344 logg .debug ("post-fail done (%s) <-%s>" ,
@@ -3351,7 +3351,7 @@ def do_start_socket_from(self, conf):
33513351 forkpid = os .fork ()
33523352 if not forkpid :
33533353 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3354- runAsRoot = permissionsStartOnly
3354+ runAsRoot = permissionsStartOnly or exe . nouser
33553355 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
33563356 run = subprocess_waitpid (forkpid )
33573357 logg .debug ("post-start done (%s) <-%s>" ,
@@ -3696,7 +3696,7 @@ def do_stop_service_from(self, conf):
36963696 logg .info ("%s stop %s" , runs , shell_cmd (newcmd ))
36973697 forkpid = os .fork ()
36983698 if not forkpid :
3699- self .execve_from (conf , newcmd , env ) # pragma: no cover
3699+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
37003700 run = subprocess_waitpid (forkpid )
37013701 if run .returncode and exe .check :
37023702 returncode = run .returncode
@@ -3726,7 +3726,7 @@ def do_stop_service_from(self, conf):
37263726 logg .info ("%s stop %s" , runs , shell_cmd (newcmd ))
37273727 forkpid = os .fork ()
37283728 if not forkpid :
3729- self .execve_from (conf , newcmd , env ) # pragma: no cover
3729+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
37303730 run = subprocess_waitpid (forkpid )
37313731 run = must_have_failed (run , newcmd ) # TODO: a workaround
37323732 # self.write_status_from(conf, MainPID=run.pid) # no ExecStop
@@ -3759,7 +3759,7 @@ def do_stop_service_from(self, conf):
37593759 logg .info ("fork stop %s" , shell_cmd (newcmd ))
37603760 forkpid = os .fork ()
37613761 if not forkpid :
3762- self .execve_from (conf , newcmd , env ) # pragma: no cover
3762+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
37633763 run = subprocess_waitpid (forkpid )
37643764 if run .returncode and exe .check :
37653765 returncode = run .returncode
@@ -3793,7 +3793,7 @@ def do_stop_service_from(self, conf):
37933793 forkpid = os .fork ()
37943794 if not forkpid :
37953795 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3796- runAsRoot = permissionsStartOnly
3796+ runAsRoot = permissionsStartOnly or exe . nouser
37973797 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
37983798 run = subprocess_waitpid (forkpid )
37993799 logg .debug ("post-stop done (%s) <-%s>" ,
@@ -3833,7 +3833,7 @@ def do_stop_socket_from(self, conf):
38333833 forkpid = os .fork ()
38343834 if not forkpid :
38353835 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3836- runAsRoot = permissionsStartOnly
3836+ runAsRoot = permissionsStartOnly or exe . nouser
38373837 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
38383838 run = subprocess_waitpid (forkpid )
38393839 logg .debug ("post-stop done (%s) <-%s>" ,
@@ -3943,7 +3943,7 @@ def do_reload_service_from(self, conf):
39433943 logg .info ("%s reload %s" , runs , shell_cmd (newcmd ))
39443944 forkpid = os .fork ()
39453945 if not forkpid :
3946- self .execve_from (conf , newcmd , env ) # pragma: no cover
3946+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
39473947 run = subprocess_waitpid (forkpid )
39483948 if run .returncode and exe .check :
39493949 logg .error ("Job for %s failed because the control process exited with error code. (%s)" ,
0 commit comments