Branch 'pykolab-0.4' - pykolab/logger.py
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Fri May 25 09:35:42 CEST 2012
pykolab/logger.py | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
New commits:
commit ff846861b629c3ec697d04207ca681505970e3a6
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Fri May 25 08:29:13 2012 +0100
Make sure our log file has the correct owner, group and read/write permissions
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)
More information about the commits
mailing list