diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-09 10:21:44 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-09 10:21:44 -0400 |
commit | adfa32b8fdbeecba5f5313fb46427a95d0d15fe2 (patch) | |
tree | 1cabe44f46c5a5b9e3a77cbe83782b5d73b3c900 /src/lib/Bcfg2/Server | |
parent | bac5743294fbb33e2e90b9f1c13174a964f5c676 (diff) | |
download | bcfg2-adfa32b8fdbeecba5f5313fb46427a95d0d15fe2.tar.gz bcfg2-adfa32b8fdbeecba5f5313fb46427a95d0d15fe2.tar.bz2 bcfg2-adfa32b8fdbeecba5f5313fb46427a95d0d15fe2.zip |
create directory containing pidfile in bcfg2-server itself
Diffstat (limited to 'src/lib/Bcfg2/Server')
-rw-r--r-- | src/lib/Bcfg2/Server/Core.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py index 144d226fe..0f32387d2 100644 --- a/src/lib/Bcfg2/Server/Core.py +++ b/src/lib/Bcfg2/Server/Core.py @@ -495,6 +495,18 @@ class BaseCore(object): """ run the server core. note that it is the responsibility of the server core implementation to call shutdown() """ if self.setup['daemon']: + # if we're dropping privs, then the pidfile is likely + # /var/run/bcfg2-server/bcfg2-server.pid or similar. + # since some OSes clean directories out of /var/run on + # reboot, we need to ensure that the directory containing + # the pidfile exists and has the appropriate permissions + piddir = os.path.dirname(self.setup['daemon']) + if not os.path.exists(piddir): + os.makedirs(piddir) + os.chown(piddir, + self.setup['daemon_uid'], + self.setup['daemon_gid']) + os.chmod(piddir, 420) # 0644 self._daemonize() self._run() |