Make SELinux happy
[cascardo/ipsilon.git] / ipsilon / install / ipsilon-server-install
index dd30c9a..d9e4585 100755 (executable)
@@ -28,6 +28,7 @@ import os
 import pwd
 import shutil
 import socket
+import subprocess
 import sys
 import time
 
@@ -101,7 +102,9 @@ def install(plugins, args):
                               confopts)
     if not os.path.exists(args['httpd_conf']):
         os.symlink(idp_conf, args['httpd_conf'])
-    os.makedirs(os.path.join(args['data_dir'], 'sessions'), 0700)
+    sessdir = os.path.join(args['data_dir'], 'sessions')
+    if not os.path.exists(sessdir):
+        os.makedirs(sessdir, 0700)
     data_conf = os.path.join(args['data_dir'], 'ipsilon.conf')
     if not os.path.exists(data_conf):
         os.symlink(ipsilon_conf, data_conf)
@@ -135,6 +138,10 @@ def install(plugins, args):
     # Fixup permissions so only the ipsilon user can read these files
     files.fix_user_dirs(instance_conf, opts['system_user'], mode=0500)
     files.fix_user_dirs(args['data_dir'], opts['system_user'])
+    try:
+        subprocess.call(['/usr/sbin/restorecon', '-R', args['data_dir']])
+    except Exception:  # pylint: disable=broad-except
+        pass
 
 def uninstall(plugins, args):
     logger.info('Uninstallation initiated')