@@ -3024,9 +3024,9 @@ def do_start_service_from(self, conf):
30243024 exe , newcmd = self .exec_newcmd (cmd , env , conf )
30253025 logg .info (" pre-start %s" , shell_cmd (newcmd ))
30263026 forkpid = os .fork ()
3027- if not forkpid :
3027+ if not forkpid :
30283028 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3029- runAsRoot = permissionsStartOnly
3029+ runAsRoot = permissionsStartOnly or exe . nouser
30303030 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
30313031 run = subprocess_waitpid (forkpid )
30323032 logg .debug (" pre-start done (%s) <-%s>" ,
@@ -3049,7 +3049,7 @@ def do_start_service_from(self, conf):
30493049 forkpid = os .fork ()
30503050 if not forkpid : # pragma: no cover
30513051 os .setsid () # detach child process from parent
3052- self .execve_from (conf , newcmd , env )
3052+ self .execve_from (conf , newcmd , env , exe . nouser )
30533053 run = subprocess_waitpid (forkpid )
30543054 if run .returncode and exe .check :
30553055 returncode = run .returncode
@@ -3083,7 +3083,7 @@ def do_start_service_from(self, conf):
30833083 forkpid = os .fork ()
30843084 if not forkpid : # pragma: no cover
30853085 os .setsid () # detach child process from parent
3086- self .execve_from (conf , newcmd , env )
3086+ self .execve_from (conf , newcmd , env , exe . nouser )
30873087 self .write_status_from (conf , MainPID = forkpid )
30883088 logg .info ("%s started PID %s" , runs , forkpid )
30893089 env ["MAINPID" ] = strE (forkpid )
@@ -3126,7 +3126,7 @@ def do_start_service_from(self, conf):
31263126 forkpid = os .fork ()
31273127 if not forkpid : # pragma: no cover
31283128 os .setsid () # detach child process from parent
3129- self .execve_from (conf , newcmd , env )
3129+ self .execve_from (conf , newcmd , env , exe . nouser )
31303130 # via NOTIFY # self.write_status_from(conf, MainPID=forkpid)
31313131 logg .info ("%s started PID %s" , runs , forkpid )
31323132 mainpid = forkpid
@@ -3168,7 +3168,7 @@ def do_start_service_from(self, conf):
31683168 forkpid = os .fork ()
31693169 if not forkpid : # pragma: no cover
31703170 os .setsid () # detach child process from parent
3171- self .execve_from (conf , newcmd , env )
3171+ self .execve_from (conf , newcmd , env , exe . nouser )
31723172 logg .info ("%s started PID %s" , runs , forkpid )
31733173 run = subprocess_waitpid (forkpid )
31743174 if run .returncode and exe .check :
@@ -3203,7 +3203,7 @@ def do_start_service_from(self, conf):
32033203 forkpid = os .fork ()
32043204 if not forkpid :
32053205 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3206- runAsRoot = permissionsStartOnly
3206+ runAsRoot = permissionsStartOnly or exe . nouser
32073207 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
32083208 run = subprocess_waitpid (forkpid )
32093209 logg .debug ("post-fail done (%s) <-%s>" ,
@@ -3218,7 +3218,7 @@ def do_start_service_from(self, conf):
32183218 forkpid = os .fork ()
32193219 if not forkpid :
32203220 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3221- runAsRoot = permissionsStartOnly
3221+ runAsRoot = permissionsStartOnly or exe . nouser
32223222 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
32233223 run = subprocess_waitpid (forkpid )
32243224 logg .debug ("post-start done (%s) <-%s>" ,
@@ -3327,9 +3327,9 @@ def do_start_socket_from(self, conf):
33273327 exe , newcmd = self .exec_newcmd (cmd , env , conf )
33283328 logg .info (" pre-start %s" , shell_cmd (newcmd ))
33293329 forkpid = os .fork ()
3330- if not forkpid :
3330+ if not forkpid :
33313331 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3332- runAsRoot = permissionsStartOnly
3332+ runAsRoot = permissionsStartOnly or exe . nouser
33333333 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
33343334 run = subprocess_waitpid (forkpid )
33353335 logg .debug (" pre-start done (%s) <-%s>" ,
@@ -3371,7 +3371,7 @@ def do_start_socket_from(self, conf):
33713371 forkpid = os .fork ()
33723372 if not forkpid :
33733373 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3374- runAsRoot = permissionsStartOnly
3374+ runAsRoot = permissionsStartOnly or exe . nouser
33753375 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
33763376 run = subprocess_waitpid (forkpid )
33773377 logg .debug ("post-fail done (%s) <-%s>" ,
@@ -3384,7 +3384,7 @@ def do_start_socket_from(self, conf):
33843384 forkpid = os .fork ()
33853385 if not forkpid :
33863386 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3387- runAsRoot = permissionsStartOnly
3387+ runAsRoot = permissionsStartOnly or exe . nouser
33883388 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
33893389 run = subprocess_waitpid (forkpid )
33903390 logg .debug ("post-start done (%s) <-%s>" ,
@@ -3729,7 +3729,7 @@ def do_stop_service_from(self, conf):
37293729 logg .info ("%s stop %s" , runs , shell_cmd (newcmd ))
37303730 forkpid = os .fork ()
37313731 if not forkpid :
3732- self .execve_from (conf , newcmd , env ) # pragma: no cover
3732+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
37333733 run = subprocess_waitpid (forkpid )
37343734 if run .returncode and exe .check :
37353735 returncode = run .returncode
@@ -3759,7 +3759,7 @@ def do_stop_service_from(self, conf):
37593759 logg .info ("%s stop %s" , runs , 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 run = must_have_failed (run , newcmd ) # TODO: a workaround
37653765 # self.write_status_from(conf, MainPID=run.pid) # no ExecStop
@@ -3792,7 +3792,7 @@ def do_stop_service_from(self, conf):
37923792 logg .info ("fork stop %s" , shell_cmd (newcmd ))
37933793 forkpid = os .fork ()
37943794 if not forkpid :
3795- self .execve_from (conf , newcmd , env ) # pragma: no cover
3795+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
37963796 run = subprocess_waitpid (forkpid )
37973797 if run .returncode and exe .check :
37983798 returncode = run .returncode
@@ -3826,7 +3826,7 @@ def do_stop_service_from(self, conf):
38263826 forkpid = os .fork ()
38273827 if not forkpid :
38283828 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3829- runAsRoot = permissionsStartOnly
3829+ runAsRoot = permissionsStartOnly or exe . nouser
38303830 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
38313831 run = subprocess_waitpid (forkpid )
38323832 logg .debug ("post-stop done (%s) <-%s>" ,
@@ -3866,7 +3866,7 @@ def do_stop_socket_from(self, conf):
38663866 forkpid = os .fork ()
38673867 if not forkpid :
38683868 permissionsStartOnly = self .get_PermissionsStartOnly (conf )
3869- runAsRoot = permissionsStartOnly
3869+ runAsRoot = permissionsStartOnly or exe . nouser
38703870 self .execve_from (conf , newcmd , env , runAsRoot ) # pragma: no cover
38713871 run = subprocess_waitpid (forkpid )
38723872 logg .debug ("post-stop done (%s) <-%s>" ,
@@ -3976,7 +3976,7 @@ def do_reload_service_from(self, conf):
39763976 logg .info ("%s reload %s" , runs , shell_cmd (newcmd ))
39773977 forkpid = os .fork ()
39783978 if not forkpid :
3979- self .execve_from (conf , newcmd , env ) # pragma: no cover
3979+ self .execve_from (conf , newcmd , env , exe . nouser ) # pragma: no cover
39803980 run = subprocess_waitpid (forkpid )
39813981 if run .returncode and exe .check :
39823982 logg .error ("Job for %s failed because the control process exited with error code. (%s)" ,
0 commit comments