Ejemplo n.º 1
0
def checkcon(info):
    """
    Look for the sshd process of the specified user in the specified device.
    """
    user = info.split(',')[0]
    device = info.split(',')[1]
    sshd = os.popen("ps -ef | grep %s | grep %s | grep sshd | grep -v \"grep\" | head -n 1" % (device, user), 'r')
    sshd = sshd.read()
    if sshd:
        sshd = sshd.strip().split()
    else:
        warning("USER %s not on DEVICE %s --> KICKING OUT!" % (user, device))
        return (1)
    if sshd[5] == "?" and sshd[7] == "sshd:":
        if sshd[8].strip() == "%s@%s" % (user.strip(), device.strip()):
            return (0) # Found ssh session
        else:
            return (1) # There is no ssh session for the user in the device.
Ejemplo n.º 2
0
def prinfo(PROCS, usr_name, group_name, nobann, ybann, smtp):
    """
    Print the DEBUG information.
    """
    print "                  <<<<< DEBUG MODE >>>>> "
    print "---------------------------------------------------------"
    print "      <<< SMTP DIRECTIVES FROM CONFIG FILE >>>\n"
    host = smtp[0]
    port = smtp[1]
    domain = smtp[2]
    print ("HOST: %s --> PORT: %d --> DOMAIN: %s" % (host, port, domain))
    print "---------------------------------------------------------"
    print "      <<< USER DIRECTIVES FROM CONFIG FILE >>>"
    for name in usr_name.keys():
        print ("USER: %s " % name)
        tmp = " ".join(usr for usr in usr_name[name])
        print ("CONFIGURATION: %s" % tmp)
    print "---------------------------------------------------------"
    print "      <<< GROUP DIRECTIVES FROM CONFIG FILE >>>"
    for group in group_name.keys():
        print ("GROUP: %s" % group)
        tmp = " ".join(usr for usr in group_name[group][0])
        tmp1 = " ".join(conf for conf in group_name[group][1])
        print ("USERS IN GROUP: %s" % tmp)
        print ("CONFIGURATION: %s" % tmp1)
        print "---------------------------------------"
    tmp = " ".join(usr for usr in nobann)
    print "---------------------------------------------------------"
    print ("USERS THAT WILL NEVER BE KICKED OUT: %s" % tmp)
    print "---------------------------------------------------------"
    print "IDLE USERS: "
    for info in PROCS.keys():
        user = info.split(',')[0]
        dev = info.split(',')[1]
        time = PROCS[info][0]
        print ("USER: %s --> DEVICE: %s --> IDLE TIME: %s" % (user, dev, time))
    print "---------------------------------------------------------"
    print "      <<< PROCESSES OF IDLE USERS: >>>\n"
    for info in PROCS.keys():
        user = info.split(',')[0]
        dev = info.split(',')[1]
        pro = PROCS[info][1]
        print ("USER: %s --> DEVICE: %s --> PROCESSES: %s" % (user , dev, pro))
    print "---------------------------------------------------------"
    print "<<< GRACE: USERS THAT WILL (eventually) BE KICKED OUT >>>\n"
    for info in ybann.keys():
        user = info.split(',')[0]
        dev = info.split(',')[1]
        gra = ybann[info]
        print ("USER: %s --> DEVICE: %s --> GRACE MINUTE: %s" % (user, dev, gra))
    print "\n#########################################################"
    print "            <<< Sleeping for 60 seconds >>> "
    print "#########################################################\n"