From 3c189aa376e98790ab006d16f5b61b82059ef3ad Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Kolab Systems)" Date: Fri, 25 May 2012 08:29:13 +0100 Subject: Make sure our log file has the correct owner, group and read/write permissions --- pykolab/logger.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pykolab/logger.py b/pykolab/logger.py index 2101866..94a84fb 100644 --- a/pykolab/logger.py +++ b/pykolab/logger.py @@ -17,9 +17,11 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +import grp import logging import logging.handlers import os +import pwd import sys import time @@ -82,6 +84,30 @@ class Logger(logging.Logger): else: self.logfile = '/var/log/kolab/pykolab.log' + # Make sure the log file exists + fhandle = file(self.logfile, 'a') + try: + os.utime(self.logfile, None) + finally: + fhandle.close() + + # Make sure (read: attempt to change) the permissions + (ruid, euid, suid) = os.getresuid() + (rgid, egid, sgid) = os.getresgid() + if ruid == 0 or rgid == 0: + try: + os.chown( + self.logfile, + pwd.getpwnam('kolab')[2], + grp.getgrnam('kolab-n')[2] + ) + os.chmod(self.logfile, 0660) + except: + print >> sys.stderr, \ + _("Could not change the ownership of log file %s") % ( + self.logfile + ) + try: filelog_handler = logging.FileHandler(filename=self.logfile) filelog_handler.setFormatter(plaintextformatter) -- cgit v1.1