亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python實現Kerberos用戶的增刪改查操作

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

1、首先模擬python類似shell命令行操作的接口:

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

#-*- 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常用的命令操作封裝成接口,其他簡單。但需要交互的是刪除 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)

補充知識:python操作有Kerberos認證的hive庫

之前訪問hive都比較簡單,直接用pyhive連接即可。

但是最近遇到了一個問題,hive有了Kerberosren認證。

最終經過各種嘗試和靈感迸發,終于解決了這個問題,遂記錄之。

代碼

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不要改

運行效果

Python實現Kerberos用戶的增刪改查操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成人精品视频一区二区三区尤物 | 国产精品自拍亚洲 | 中文字幕日韩在线观看 | 毛片站 | 欧美性猛交xxx免费看人妖 | 日本高清动作片www欧美 | 欧美韩日国产 | 97香蕉超级碰碰碰久久兔费 | 国产精品video | 自拍 亚洲 | 精品国产一区二区三区不卡在线 | 中文字幕欧美成人免费 | 一级毛片在线完整免费观看 | 2022av视频| 男人影院在线观看 | 黄色毛片小视频 | 成人蜜桃网 | 欧美精品在线视频观看 | 毛片毛片毛片毛片毛片怎么 | 成年人激情网站 | 污网站大全 | 欧美一级永久免费毛片在线 | 黄色片1级| 亚洲不卡一区二区三区在线 | 国产黄色免费观看 | 国产噜噜在线视频观看 | 日本特级爽毛片叫声 | 国产在线欧美日韩精品一区二区 | 久久香蕉国产线看观看99 | 国产爱v| 欧美日韩国产在线观看 | 制服丝袜中文字幕在线观看 | 一级做a爰全过程免费视频 一级做a爰性色毛片 | 国产日韩精品欧美一区色 | 一级做片爱性视频免费 | 9久9久女女热精品视频免费观看 | 国产激爽大片高清在线观看 | 伊人激情久久综合中文字幕 | 五月天在线婷婷 | 国产国语一级毛片 | 国产一区二区三区手机在线观看 |