diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-09-25 16:56:08 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-04 07:29:17 -0400 |
commit | a4e78fbed539e83b639dd22b0662554c9e837e23 (patch) | |
tree | a766aaa1bf6b015afceea3865fee42ba995550e5 /src/lib/Bcfg2/Server | |
parent | d33b0a4dac9842af98662b78a8b37620c622ecbf (diff) | |
download | bcfg2-a4e78fbed539e83b639dd22b0662554c9e837e23.tar.gz bcfg2-a4e78fbed539e83b639dd22b0662554c9e837e23.tar.bz2 bcfg2-a4e78fbed539e83b639dd22b0662554c9e837e23.zip |
drop privs options added, works in CherryPy
Diffstat (limited to 'src/lib/Bcfg2/Server')
-rw-r--r-- | src/lib/Bcfg2/Server/BuiltinCore.py | 4 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/CherryPyCore.py | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Server/BuiltinCore.py b/src/lib/Bcfg2/Server/BuiltinCore.py index 61edd9cf7..b62312828 100644 --- a/src/lib/Bcfg2/Server/BuiltinCore.py +++ b/src/lib/Bcfg2/Server/BuiltinCore.py @@ -30,7 +30,9 @@ class Core(BaseCore): BaseCore.__init__(self, setup) self.server = None self.context = \ - daemon.DaemonContext(pidfile=PidFile(self.setup['daemon'])) + daemon.DaemonContext(uid=self.setup['daemon_uid'], + gid=self.setup['daemon_gid'], + pidfile=PidFile(self.setup['daemon'])) def _dispatch(self, method, args, dispatch_dict): """Custom XML-RPC dispatcher for components. diff --git a/src/lib/Bcfg2/Server/CherryPyCore.py b/src/lib/Bcfg2/Server/CherryPyCore.py index a840d5ae9..79e939344 100644 --- a/src/lib/Bcfg2/Server/CherryPyCore.py +++ b/src/lib/Bcfg2/Server/CherryPyCore.py @@ -7,7 +7,7 @@ from Bcfg2.Server.Core import BaseCore import cherrypy from cherrypy.lib import xmlrpcutil from cherrypy._cptools import ErrorTool -from cherrypy.process.plugins import Daemonizer, PIDFile +from cherrypy.process.plugins import Daemonizer, DropPrivileges, PIDFile def on_error(*args, **kwargs): # pylint: disable=W0613 @@ -90,6 +90,8 @@ class Core(BaseCore): return cherrypy.serving.response.body def _daemonize(self): + DropPrivileges(cherrypy.engine, uid=self.setup['daemon_uid'], + gid=self.setup['daemon_gid']).subscribe() Daemonizer(cherrypy.engine).subscribe() PIDFile(cherrypy.engine, self.setup['daemon']).subscribe() |