Example #1
0
 def __init__(self):
     InstallCommand.__init__(self)
     self.packages = "munin-node"
     self.add_package(self.packages)
     self.add_file('/etc/munin/munin-node.conf', 
                     ck_func=self.check_munin_master_ip, 
                     fix_func=self.fix_munin_master_ip)
     self.master_ip = self.LOCIP
     conf = CONFIG.get()
     if not CONFIG.is_set(self.NAME,'master_ip'):
         self.master_ip = None
     else:
         self.master_ip = conf[self.NAME]['master_ip']
Example #2
0
    def __init__(self):
        InstallCommand.__init__(self)

        self.cron_acl_sudo = "#!/bin/sh"
        with open(files.get_rel_path("data/cron_acl.tpl")) as f:
            cron_acl_tpl = Template(f.read())
            self.cron_acl_sudo = cron_acl_tpl.safe_substitute(group="sudo", site_path="/data/www")

        self.cron_acl_dev_team = "#!/bin/sh"
        if CONFIG.is_set('site','ldap_dev_team'):
            with open(files.get_rel_path("data/cron_dev_team.tpl")) as f:
                cron_acl_tpl = Template(f.read())
                self.cron_acl_dev_team = cron_acl_tpl.safe_substitute(group=CONF_MAP('site','ldap_dev_team'))

        self.packages = "acl"
        self.add_package(self.packages)
        self.add_folder('/etc/cron.acl')
        self.add_file('/etc/crontab',
                        ck_func=self.check_acl_crontab,
                        fix_func=self.fix_acl_crontab)
        self.add_file('/etc/cron.acl/sudo',
                        ck_func=self.check_perm_cron,
                        fix_func=self.fix_perm_cron,
                        perm={'u':'rx', 'g':'rx', 'o':'rx'})
        self.add_file('/etc/cron.acl/ldap_dev_team',
                        ck_func=self.check_perm_dev_team,
                        fix_func=self.fix_perm_dev_team,
                        perm={'u':'rx', 'g':'rx', 'o':'rx'})
Example #3
0
    def fix_group_allow(self, element):

        if not files.contains(element['name'], '"domain admins"'):
            files.append(element['name'], '\n"domain admins"')

        if CONFIG.is_set('site','ldap_dev_team'):
            ldap_dev_team_val = '\n%s' % CONF_MAP('site','ldap_dev_team')
            if not files.contains(element['name'], ldap_dev_team_val):
                files.append(element['name'], ldap_dev_team_val)
Example #4
0
 def do(self, args=[]):
     completed = InstallCommand.do(self,args)
     if 'check' not in args and 'fix' not in args:
         MySQLCommand().do(['reset_root_pass'])
         admin_mail = inputs.get_input_string(t("What is the admin mail?"), CONF_MAP('mail','admin_mail'))
         smtp_server = inputs.get_input_string(t("What is the smtp server to use?"), CONF_MAP('mail','smtp_server'))
         CONFIG.mod('mail','admin_mail', admin_mail)
         CONFIG.mod('mail','smtp_server', smtp_server)
         CONFIG.save()
Example #5
0
    def do(self, args=[]):
        completed = InstallCommand.do(self,args)

        if inputs.get_input_yesno(t("Do you want to configure centrify/ldap now?")):
            if inputs.get_input_yesno(t("Will this machine use Active Directory?")):
                domain_name = inputs.get_input_string(t("What is the domain name?"), CONF_MAP('ldap','domain'))
                domain_controller = inputs.get_input_string(t("What is the address of the domain controller?"), CONF_MAP('ldap','dc'))
                domain_read_user = inputs.get_input_string(t("What is the ldap reader username?"), CONF_MAP('ldap','ldap_reader'))
                domain_read_pass = inputs.get_password(t("What is the ldap reader password?"),validate=False)
                domain_default_ou = inputs.get_input_string(t("What is the ldap default OU for uwsa?"), CONF_MAP('ldap','uwsa_ou'))

                CONFIG.mod('ldap','enabled', True)
                CONFIG.mod('ldap','domain', domain_name)
                CONFIG.mod('ldap','dc', domain_controller)
                CONFIG.mod('ldap','ldap_reader', domain_read_user)
                CONFIG.mod('ldap','ldap_reader_pass', domain_read_pass)
                CONFIG.mod('ldap','uwsa_ou', domain_default_ou)

                if not CONF_MAP('centrify', 'joined') and inputs.get_input_yesno(t("Do you want to join the Active Directory now?")):
                    domain_admin_user = inputs.get_input_string(t("What is the domain admin username?"))
                    domain_admin_pass = inputs.get_password(t("What is the domain admin password?"),confirm=False, validate=False)
                    cmd_list = [
                        {'command' : 'adjoin -w --force --user %s --password %s %s' % (domain_admin_user, domain_admin_pass, domain_name),
                         'anonymous' : 'adjoin -w --force --user %s --password XXXXXXXXXXXXX %s' % (domain_admin_user, domain_name),
                         'success_code' : [0,8],
                        },
                        'service centrifydc start',
                    ]
                    completed, pinfo = core.exec_cmd_list(cmd_list)
                    L.info(pinfo['stdout'])
                    if not completed:
                        raise Exception(t("Error in installation!"), self.NAME)
                    CONFIG.mod('centrify','joined', "True" )
                CONFIG.save()

        return completed
Example #6
0
 def check_group_allow(self, element):
     is_ok = True
     if CONFIG.is_set('site','ldap_dev_team'):
         is_ok &= files.contains(element['name'], '%s' % CONF_MAP('site','ldap_dev_team'))
     is_ok &= files.contains(element['name'], '"domain admins"')
     return is_ok
Example #7
0
 def pre_install(self):
     conf = CONFIG.get()
     CONFIG.mod(self.NAME, "installed", True)