summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2015-09-02 03:13:10 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2015-09-02 03:32:54 +0200
commit41c4400d4b7e7cce9efb7a51665cc92a3795dade (patch)
tree396e53cddb90d57364f63c51b0329e4125b054b3
parent5d4391a17b27e10ed74d6b692ae7d33b47cfced0 (diff)
downloadspline-startup-41c4400d4b7e7cce9efb7a51665cc92a3795dade.tar.gz
spline-startup-41c4400d4b7e7cce9efb7a51665cc92a3795dade.tar.bz2
spline-startup-41c4400d4b7e7cce9efb7a51665cc92a3795dade.zip
Do not use su in non-root mode
-rwxr-xr-xspline-startup14
1 files changed, 9 insertions, 5 deletions
diff --git a/spline-startup b/spline-startup
index 2814ab0..d9af438 100755
--- a/spline-startup
+++ b/spline-startup
@@ -84,7 +84,7 @@ class SplineStartup(object):
else:
return 0
- def _run_scripts(self, user, action):
+ def _run_scripts(self, user, action, su=True):
self._pdebug("Running scripts for user '%s'" % user.pw_name)
dir = os.path.join(user.pw_dir, 'etc', 'rc.d')
@@ -95,15 +95,19 @@ class SplineStartup(object):
if not os.path.isdir(dir):
return True
- returnvalue = self._call(['su', '-', user.pw_name,
- '-c', 'run-parts %s -- %s' %
- (' '.join(args), quote(dir))])
+ if su:
+ returnvalue = self._call(['su', '-', user.pw_name,
+ '-c', 'run-parts %s -- %s' %
+ (' '.join(args), quote(dir))])
+ else:
+ returnvalue = self._call(['run-parts'] + args + ['--', dir])
+
return returnvalue == 0
def run(self):
if not is_root():
user = pwd.getpwuid(os.getuid())
- self._run_scripts(user, self.options.action)
+ self._run_scripts(user, self.options.action, False)
return
if self.options.user is not None: