def r(): r = redis.Redis( host=config.getConf("redishost"), port=config.getConf("redisport"), password=config.getConf("redispassword"), ) return r
def connect(): host = config.getConf("dbhost") port = int(config.getConf("dbport")) username = config.getConf("dbaccount") password = config.getConf("dbpassword") client = pymongo.MongoClient( "mongodb://{}:{}@{}:{}/?authSource=DaanChooses".format( username, password, host, port)) return client.DaanChooses
def create_smb_user(share_name, username, password): ''' 创建smb用户,共享文件夹,并重新加载服务使之生效 ''' #检查共享目录和用户是否存在 if config.getConf('path', share_name) != None: print 'the share name exist.' sys.exit() cmd = '/usr/bin/pdbedit -L' a = os.popen(cmd).readlines() for i in a : if i.split(':')[0] == username.strip(): print 'the username exist.' sys.exit() if os.path.exists(os.path.join(path_smb_root, share_name)): print 'the path %s exist.' % os.path.join(path_smb_root, share_name) sys.exit() #创建smb帐户 cmd = '/usr/sbin/useradd -M -s /sbin/nologin %s' % username os.system(cmd) #设置密码 cmd = 'echo %s > /tmp/dynamic_smb_password && echo %s >> /tmp/dynamic_smb_password && cat /tmp/dynamic_smb_password | /usr/bin/smbpasswd -a -s %s && rm /tmp/dynamic_smb_password' os.system(cmd % (password, password, username)) #创建文件夹 os.makedirs(os.path.join(path_smb_root, share_name)) cmd = 'chmod -R 777 %s' % os.path.join(path_smb_root, share_name) os.system(cmd) #修改smb配置 write_smb_conf(share_name, os.path.join(path_smb_root, share_name), username) #重启smb服务 cmd = '/etc/init.d/smb reload' os.system(cmd)
def get(self, id): header = request.headers.get("Authorization") status = auth.Manageidentify(auth.getTokenFromHeader(header)) if status: if int(status["permission"]) > 10: for i in range(1, config.getConf("maxchooses") + 1): print(i) return jsonify({"status": 200}) else: return jsonify({"status": 401})
def Manageidentify(token): try: data = jwt.decode(token, config.getConf("jwtsecret"), algorithms=["HS256"]) except: return False username = data["username"] obj = db.manage.find_one({"username": str(username)}) if obj: return {"permission": obj["permission"]} else: return False
def del_smb_share(share_name, flag_delete_dir = True, flag_delete_user = False): username = config.getConf('write list', share_name) #删除配置 config.deleteConf(share_name) #重启smb服务 cmd = '/etc/init.d/smb reload' os.system(cmd) #删除文件夹 if flag_delete_dir and os.path.exists(os.path.join(path_smb_root, share_name)): shutil.rmtree(os.path.join(path_smb_root, share_name)) if flag_delete_user: os.system('smbpasswd -x %s' % username)
def __init__(self, params = None): if params: self.host = params.get("host") self.port = params.get("port") self.username = params.get("username") self.password = params.get("password") self.database = params.get("database") else: cfg = config.getConf() self.host = cfg.get("meta-db", "host") self.port = cfg.getint("meta-db", "port") self.username = cfg.get("meta-db", "username") self.password = cfg.get("meta-db", "password") self.database = cfg.get("meta-db", "database") self.initDB()
def authenticate(username, password): obj = db.students.find_one({"account": str(username)}) if (obj is not None and obj != "" and obj["password"] == password and obj["enable"] == 1): encoded = jwt.encode( { "username": username, "exp": datetime.datetime.utcnow() + datetime.timedelta(seconds=14400), }, config.getConf("jwtsecret"), algorithm="HS256", ) # 4 hours token available return encoded else: return False
def Manageauthenticate(username, password): obj = db.manage.find_one({"username": str(username)}) if (obj is not None and obj["password"] == hashlib.sha256( password.encode("utf-8")).hexdigest()): encoded = jwt.encode( { "username": username, "exp": datetime.datetime.utcnow() + datetime.timedelta(seconds=7200), }, config.getConf("jwtsecret"), algorithm="HS256", ) # 2 hours token available return encoded else: return False
def __init__(self, db_id): self.db_id = db_id self.conf = config.getConf()
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1' os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu os.environ['PYTHONHASHSEED'] = '0' from datetime import datetime import numpy as np # from tqdm import tqdm from config import getConf from model_QAT import CreateModel, maxSAD, avgSAD, myAcc import tensorflow as tf import tensorflow_model_optimization as tfmot from tensorflow.keras.losses import MeanSquaredError from tensorflow.keras.callbacks import ModelCheckpoint, CSVLogger, TensorBoard conf = getConf(args.json) for k, v in conf.items(): if isinstance(v, dict): print(f"[{k}]") for kk, vv in v.items(): print(f" {kk}:{vv}") else: print(f"{k}:{v}") NOW = datetime.now().strftime("%Y%m%d_%H%M%S") if os.path.isdir(f"./experiments/{conf['name']}"): os.mkdir(f"./experiments/{conf['name']}_{NOW}") os.system( f"mv ./experiments/{conf['name']}/* ./experiments/{conf['name']}_{NOW}/" ) else:
from frases import getFrases from log import Arquivo import time from Cliente import Cliente from Servidor import Server import sys import random import portas id = int(sys.argv[1]) #id do processo n = int(sys.argv[2]) #número de processos lamb = int(sys.argv[3]) #taxa de frases por segundo k = int(sys.argv[4]) #frases geradas frases = getFrases() c = [] confs = getConf() iconf = [] for i in confs: if i[0] == id: iconf = i portasR = portas.portas[str(n)][str(k)][str(lamb)] s = Server(iconf[1], portasR[str(id)]) lamp = Lamport.Lamport() arquivo = Arquivo(int(id), n, k, lamb) def iniciaCliente(s): for i in range(0, n): if i + 1 != id:
def aws_kms_decrypt(CiphertextBlob): return KMS(conf=conf).decrypt_all(CiphertextBlob) def read_stdin(): data = sys.stdin.read() return json.loads(data) def main(): input_type = conf['args']['input'] decrypt_type = conf['args']['decrypt'] reader = {'kafka': kafka_consume, 'stdin': read_stdin} decryptor = { 'aws_encryption_sdk': aws_encryption_sdk_decrypt, 'aws_kms': aws_kms_decrypt } CiphertextBlob = reader[input_type]() decryptor[decrypt_type](CiphertextBlob) trace(CiphertextBlob, debug=True) if __name__ == '__main__': conf = config.getConf(sys.argv[1:]) exit(main())
def identify(token): data = jwt.decode(token, config.getConf("jwtsecret"), algorithms=["HS256"]) return data