Exemplo n.º 1
0
def main():
    config = Classes.Config(krb5keytab="/root/janitor/janitor.keytab",
                            plugin_author='ldapdbadmin')
    authen = Classes.Authen(config)
    if not authen:
        print "bad auth"
        return
    userid = authen.authenticate(user='******')
    if not userid: return
    authen.kadmin()
    author = Classes.Author(config)
    db = author.authorize('janitor/admin')

    config = Classes.Config(krb5keytab="/root/janitor/janitor.keytab",
                            plugin_author='ldapdbadmin')
    authen = Classes.Authen(config)
    if not authen:
        sys.exit(3)
    userid = authen.authenticate()
    if not userid:
        sys.exit(4)
    authen.kadmin()
    author = Classes.Author(config)
    if not author:
        sys.exit(3)
    db = author.authorize(userid.split('@')[0])
    if not db:
        sys.exit(4)

    db.update_dnsSOA()
Exemplo n.º 2
0
 def setUp(self):
     self.config = Classes.Config(plugin_author='ldapdbadmin')
     #self.config = Classes.Config(krb5keytab='/root/janitor/keytab', plugin_author='ldapdbadmin')
     self.authen = Classes.Authen(self.config)
     self.author = Classes.Author(self.config)
     self.usid = self.authen.authenticate()
     self.db = self.author.authorize(self.usid)
Exemplo n.º 3
0
 def testDefaultAuthor(self):
     """check if default loads non-admin backend"""
     author = Classes.Author(self.config)
     dbconn = author.authorize(self.host_usid)
     self.assertEqual(dbconn.__module__, 'UniDomain.plugins.ldapdb',
                      'wrong default author plugin')
     self.assertTrue(dbconn, 'authorization failed')
Exemplo n.º 4
0
 def testAdminAuthor(self):
     """Check if we can load the admin db backend"""
     self.config.plugin_author = 'ldapdbadmin'
     author = Classes.Author(self.config)
     dbconn = author.authorize(self.host_usid)
     self.assertEqual(dbconn.__module__, 'UniDomain.plugins.ldapdbadmin',
                      'wrong admin author plugin')
     self.assertTrue(dbconn, 'authorization failed')
Exemplo n.º 5
0
 def setUp(self):
     self.config = Classes.Config(plugin_authen='krb5_login',
                                  plugin_author='ldapdbadmin')
     #self.config = Classes.Config(krb5keytab='/root/janitor/keytab', plugin_author='ldapdbadmin')
     self.authen = Classes.Authen(self.config)
     self.author = Classes.Author(self.config)
     self.usid = self.authen.authenticate(
         user=sys.modules['__main__'].username,
         pw=sys.modules['__main__'].userpw)
     self.db = self.author.authorize(self.usid.split('@')[0])
Exemplo n.º 6
0
        parser.print_help()
        sys.exit(2)
    if options.debug:
        logging.basicConfig(level=logging.DEBUG)
    
    if len(args) == 0:
        delta = datetime.timedelta(weeks=4)
    else:
        delta = datetime.timedelta(days=int(args[0]))

    config = Classes.Config(plugin_authen='krb5_login', plugin_author='ldapdbadmin')
    authen = Classes.Authen(config)
    if not authen:
        sys.exit(3)
    userid = authen.authenticate()
    if not userid:
        sys.exit(4)
    author = Classes.Author(config)
    if not author:
        sys.exit(3)
    db = author.authorize(userid.split('@')[0])
    if not db:
        sys.exit(4)

    print 'The following hosts have not been seen in the last %s days:' % delta.days
    res = db.conn.result(db.conn.search(config.ldapbase, ldap.SCOPE_SUBTREE, '(&(objectClass=udHost)(lastSeen<=%s))'%((datetime.date.today() - delta).strftime("1%y%m%d00")) , ['cn', 'FQDN', 'USID', 'description', 'lastSeen']))[1]
    res.sort(key=lambda x: int(x[1]['lastSeen'][0]))
    for (dn, att) in res:
        print time.strftime("%d %b %Y", time.strptime(att['lastSeen'][0],"1%y%m%d%H")), ' : ', att['FQDN'][0]