added default config class for sssd settings

This commit is contained in:
Tuncay ÇOLAK 2021-09-29 15:41:42 +03:00
parent efd469dd4b
commit 10369afda0
4 changed files with 77 additions and 18 deletions

34
debian/ahenk.postinst vendored
View file

@ -12,23 +12,23 @@ if [ ! -d /etc/ahenk ]; then
fi fi
# update pardus21 sssd conf changes when update pardus from 24 to 25 ## update pardus21 sssd conf changes when update pardus from 24 to 25
if [ -d /etc/ahenk ]; then #if [ -d /etc/ahenk ]; then
if [ -f /etc/default/sssd ]; then # if [ -f /etc/default/sssd ]; then
if ! grep -Fxq 'LC_ALL="tr_CY.UTF-8"' /etc/default/sssd # if ! grep -Fxq 'LC_ALL="tr_CY.UTF-8"' /etc/default/sssd
then # then
echo 'LC_ALL="tr_CY.UTF-8"' >> /etc/default/sssd # echo 'LC_ALL="tr_CY.UTF-8"' >> /etc/default/sssd
systemctl restart sssd.service # systemctl restart sssd.service
fi # fi
fi # fi
#
if [ -f /etc/ahenk/ad_info ]; then # if [ -f /etc/ahenk/ad_info ]; then
if [ -f /etc/sssd/sssd.conf ]; then # if [ -f /etc/sssd/sssd.conf ]; then
sed -i 's/ad_domain/ad_server/g' /etc/sssd/sssd.conf # sed -i 's/ad_domain/ad_server/g' /etc/sssd/sssd.conf
systemctl restart sssd.service # systemctl restart sssd.service
fi # fi
fi # fi
fi #fi
systemctl enable ahenk systemctl enable ahenk
systemctl start ahenk systemctl start ahenk

View file

@ -30,6 +30,7 @@ from base.scope import Scope
from base.system.system import System from base.system.system import System
from base.task.task_manager import TaskManager from base.task.task_manager import TaskManager
from base.util.util import Util from base.util.util import Util
from base.default_config.default_config import DefaultConfig
from easygui import msgbox from easygui import msgbox
sys.path.append('../..') sys.path.append('../..')
@ -274,6 +275,10 @@ class AhenkDaemon(BaseDaemon):
else: else:
self.logger.info('local users will not be disabled because local_user_paramater is FALSE') self.logger.info('local users will not be disabled because local_user_paramater is FALSE')
def default_settings(self):
default_config = DefaultConfig()
default_config.check_sssd_settings()
def run(self): def run(self):
""" docstring""" """ docstring"""
print('Ahenk running...') print('Ahenk running...')
@ -319,6 +324,8 @@ class AhenkDaemon(BaseDaemon):
self.init_execution_manager() self.init_execution_manager()
self.logger.info('Execution Manager was set') self.logger.info('Execution Manager was set')
self.default_settings()
self.check_registration() self.check_registration()
self.is_registered() self.is_registered()
@ -341,7 +348,6 @@ class AhenkDaemon(BaseDaemon):
# if registration.is_ldap_registered() is False: # if registration.is_ldap_registered() is False:
# logger.debug('Attempting to registering ldap') # logger.debug('Attempting to registering ldap')
# registration.ldap_registration_request() #TODO work on message # registration.ldap_registration_request() #TODO work on message
self.logger.info('LDAP registration of Ahenk is completed') self.logger.info('LDAP registration of Ahenk is completed')
self.messenger.send_direct_message('test') self.messenger.send_direct_message('test')

View file

View file

@ -0,0 +1,53 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# checked config when restarted agent service. Example, sssd language settings..
from base.scope import Scope
from base.util.util import Util
class DefaultConfig:
def __init__(self):
scope = Scope().get_instance()
self.logger = scope.get_logger()
def check_sssd_settings(self):
# configure sssd for language environment
sssd_language_conf = "/etc/default/sssd"
sssd_conf_path = "/etc/sssd/sssd.conf"
ad_info = "/etc/ahenk/ad_info"
registration = Scope.get_instance().get_registration()
if registration.is_registered() and Util.is_exist(sssd_language_conf):
file_default_sssd = open(sssd_language_conf, 'r')
file_data = file_default_sssd.read()
file_default_sssd.close()
if "LC_ALL=\"tr_CY.UTF-8\"" not in file_data:
file_data = file_data + "\n" + "LC_ALL=\"tr_CY.UTF-8\""
self.logger.info("added language environment for sssd")
file_default_sssd = open(sssd_language_conf, 'w')
file_default_sssd.write(file_data)
file_default_sssd.close()
Util.execute("systemctl restart sssd.service")
if registration.is_registered() and Util.is_exist(sssd_conf_path) and Util.is_exist(ad_info):
sssd_conf_data = Util.read_file_by_line(sssd_conf_path)
isExist = False
for line in sssd_conf_data:
if "ad_domain" in line:
isExist = True
if isExist:
sssd_conf_temp = open(sssd_conf_path, 'w')
for line in sssd_conf_data:
if "ad_domain" in line:
line = line.replace("ad_domain", "ad_server")
sssd_conf_temp.write(line)
sssd_conf_temp.close()
Util.execute("systemctl restart sssd.service")
self.logger.info("replaced ad_domain parameter with ad_server")
sssd_conf_temp.close()