def test(): currentPath = sys.path[0] logFile = os.path.join(currentPath,'log','uac.log') os.remove(logFile) logger = uacLog().getLog() logger.info('Log test') try: assert os.path.isfile(logFile) print('log.uacLog ...... pass') except: print('log.uacLog ...... failed')
def main(self): logger = uacLog().getLog() disable_file_system_redirection().__enter__() command = 'c:\\windows\\system32\\query user' currentPath = sys.path[0] config = configparser.RawConfigParser() config.read(os.path.join(currentPath,'uac.conf')) logger.info('UAC system start.') currentList = [] while True: result = os.popen(command).readlines() newList = [] for line in result: name = str(line[0:9]).replace(' ','') if name != 'USERNAME': newList.append(name) diff=list(set(newList).difference(set(currentList))) if diff == []: currentList = newList else: if len(diff) == 1: username = diff[0] logger.info('User login:'******'Emergency mode: ' + username) else: firewall.activate(username,loginuser.ipList) logger.info('Set firewall for: ' + username) except : logger.critical('Database connection fail.') firewall = winFirewall() firewall.allfree() logger.critical('Allow all IP.') currentList = newList else: currentList = newList logger.critical('User login error:') logger.critical('User login befor:') for name in currentList: logger.critical(name) logger.critical('User login after:') for name in newList: logger.critical(name)