def client_run(): print( "\n---------------------------------------------\nUniDomain managed system is updating account, group and policy settings ... \n---------------------------------------------\n" ) config = Classes.Config() authen = Classes.Authen(config).authenticate() if not authen: logging.critical( 'authentication of this host failed. Is this host registered in a domain? Network is up?' ) return 1 # connect to database db = Classes.DB(authen).connect() if not db: logging.critical('can not connect to database.') return 2 #get a AttributeCollection about this host hostAttributes = db.get_host_data(db.userID) logging.debug(hostAttributes.__str__()) udPolicies = hostAttributes.getPolicies() # update the database. this is used for dead host detection. udPolicies['updateDbPolicy'] = None logging.info('instantiating udPolicyEngine with %i policies' % len(udPolicies)) runner = udPolicyEngine.udPolicyEngine(udPolicies, db, config) logging.info('running udPolicyEngine.') runner.run()
def open_ud2_connection(env): config = Classes.Config(file='/opt/UD2/etc/www_conf.xml') authen = Classes.Authen(config).authenticate(ccpath=env['KRB5CCNAME']) if not authen: return ("403 Forbidden", "Can not validate kerberos Ticket Data") #return writeError(req, apache.HTTP_FORBIDDEN, "Can not validate kerberos Ticket Data") db = Classes.DB(authen).connect() if not db: return ("403 Forbidden", "Database Connection failed for user %s" % (env['REMOTE_USER'])) #return writeError(req, apache.HTTP_FORBIDDEN, "Database Connection failed for user %s" % (req.subprocess_env['REMOTE_USER'])) return (False, db)
while input: policies.append(input) input = raw_input('policy : ') return policies if __name__ == "__main__": if len(sys.argv) > 1 and sys.argv[1] == "-d": logging.basicConfig(level=logging.DEBUG) config = Classes.Config(plugin_authen='krb5_login') try: authen = Classes.Authen(config).authenticate() except IndexError, e: print 'Authentication error (wrong password?)' sys.exit(1) db = Classes.DB(authen).connect() if not db: print 'db connection error' sys.exit(2) fqdn = askName() functions.set_hostname(fqdn) target = askTarget(db) classes = askClasses() policies = askPolicies() args = {} if len(policies) > 0: args['cfPolicy'] = ('policyClass', policies) logging.debug('adding %s to %s' % (fqdn, target))