色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python實(shí)現(xiàn)Kerberos用戶(hù)的增刪改查操作

瀏覽:44日期:2022-07-02 11:58:43

1、首先模擬python類(lèi)似shell命令行操作的接口:

python安裝subprocess(本地)、paramiko(SSH遠(yuǎn)程)

#-*- coding: UTF-8 -*-#!/usr/bin/pythonimport os, sysimport subprocessimport paramikoimport settings class RunCmd(object): def __init__(self): self.cmd = ’ls’ @staticmethod def local_run(cmd): print(’start executing...’) print(’cmd is -------> %s’ % str(cmd)) s = subprocess.Popen(str(cmd), shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = s.communicate() print('outinfo is -------> %s' % out) print('errinfo is -------> %s' % err) print(’finish executing...’) print(’result:------> %s’ % s.returncode) return s.returncode @staticmethod def remote_run(host, username, password, port, cmd): client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(hostname=host, port=int(port), username=username, password=password, timeout=5) stdin, stdout, stderr = client.exec_command(cmd) result = stdout.read() client.close() return result @staticmethod def krb_run(cmd): print(’krb_run start...’) print(’cmd is -------> %s’ % str(cmd)) result = RunCmd.remote_run(settings.KRB_HOST, settings.USERNAME, settings.PASSWORD, settings.PORT, cmd) print(’result:------> %s’ % result) print(’krb_run finish...’) return result

2、Kerberos常用的命令操作封裝成接口,其他簡(jiǎn)單。但需要交互的是刪除 principal

def delete_user(self, username): cmd = r''' expect -c ' set timeout 1; spawn kadmin.local -q 'delete_principal {principal}' ; expect yes/no {{ send 'yesr' }} ; expect *r expect r expect eof ' '''.format(principal=username) RunCmd.krb_run(cmd)

補(bǔ)充知識(shí):python操作有Kerberos認(rèn)證的hive庫(kù)

之前訪(fǎng)問(wèn)hive都比較簡(jiǎn)單,直接用pyhive連接即可。

但是最近遇到了一個(gè)問(wèn)題,hive有了Kerberosren認(rèn)證。

最終經(jīng)過(guò)各種嘗試和靈感迸發(fā),終于解決了這個(gè)問(wèn)題,遂記錄之。

代碼

from pyhive.hive import connectcon = connect(host=’XXXX’,port=10000,auth=’KERBEROS’,kerberos_service_name='hive')cursor = con.cursor()cursor.execute(’select * from tmp.pricing_calculate_result_spark where time_id='201907171355' limit 10,1’)datas = cursor.fetchall()print(datas)cursor.close()con.close()

端口和ip都換成自己的,auth和kerberos_service_name不要改

運(yùn)行效果

Python實(shí)現(xiàn)Kerberos用戶(hù)的增刪改查操作

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 天天干亚洲| 一级欧美一级日韩毛片99 | 99视频在线精品免费 | 94欧美setu | 国产成人午夜极速观看 | 欧美专区在线视频 | 大毛片a大毛片 | 亚洲91在线 | 日韩三级精品 | 久久99久久99精品 | 精品亚洲欧美高清不卡高清 | 成人18免费软件 | 免费观看成年人视频 | 亚洲欧美成人综合 | 国产成人免费影片在线观看 | 最新亚洲一区二区三区四区 | 久久网站免费 | 插美女网站 | 99精品视频在线在线视频观看 | 一个人的视频日本免费 | 大臿蕉香蕉大视频成人 | 久久综合狠狠综合久久综合88 | 亚洲国产一区二区三区在线观看 | 亚洲va久久久噜噜噜久久狠狠 | 精品视频在线一区 | 成年人免费观看网站 | 国产精品亚洲专区在线播放 | 日韩欧美在线视频 | 盗摄偷拍a在线观看 | 一级一毛片a级毛片欧美 | 51国产偷自视频区视频手机播器 | 巨乳女上司 | 亚洲第一视频网站 | 国产美女又黄又爽又色视频免费 | 久久久网久久久久合久久久久 | 欧美三级超在线视频 | 国产一级片儿 | 久久www免费人成看国产片 | 亚洲国产精品67194成人 | 国产成a人亚洲精v品久久网 | 美女扒开双腿让男人爽透视频 |