python實(shí)現(xiàn)linux服務(wù)器批量修改密碼并生成execl
批量修改linux服務(wù)器密碼,同時(shí)生成execl表格
#!/usr/bin/env python
#coding:utf8
#隨機(jī)生成自定義長(zhǎng)度密碼
from random import choice
import string,pickle
def GenPassword(length=8,chars=string.ascii_letters+string.digits):
return ''.join([choice(chars) for i in range(length)])
def passlist(r_user,c_user,ip_list,web_list):
dic={}
for i in ip_list:
if i.split()[1] in web_list:
dic[i.split()[1]]=[i.split()[0],{r_user:GenPassword(32),c_user:GenPassword(32)}]
else:
dic[i.split()[1]]=[i.split()[0],{r_user:GenPassword(32)}]
return dic
def ip_list(ip_file):
with open(ip_file) as file:
ip_file=file.read().strip().split("\n")
#web_list=[i for i in ip_file if i in web_list]
return ip_file
def save_dic():
dic=main()
with open("../host_message.pickle","w") as fd:
pickle.dump(dic,fd)
def main():
file="/root/cui/script/python/ip.txt"
web_list=[ip1,ip2,ip3,ip4]
file_list=ip_list(file)
file_dic_pass=passlist("root","www",file_list,web_list)
return file_dic_pass
if __name__=="__main__":
save_dic()
#!/usr/bin/env python
#coding:utf8
#批量修改密碼主程序
import pickle
from ssh_co.ssh_connect import sshd
from command.ip_passwd import save_dic,main
from execl import set_execl
def read_dic():
with open("host_message.pickle","rb") as f:
return pickle.load(f)
def ssh_main():
pid_host=1
host_message=read_dic()
host_list=host_message.keys()
print host_list
for host_msg in xrange(len(host_list)):
host_attribute=(host_list[host_msg],port,user,passwd)
ssh_conn=sshd(host_attribute,pid_host)
if "www" in host_message[host_list[host_msg]][1].keys():
for username in xrange(len(host_message[host_list[host_msg]][1].keys())):
try:
user=host_message[host_list[host_msg]][1].keys()[username]
passwd=host_message[host_list[host_msg]][1][host_message[host_list[host_msg]][1].keys()[username]]
results=ssh_conn.set_ssh_cmd(u"/bin/echo %s|/usr/bin/passwd --stdin %s" %(passwd,user))
print results,host_list[host_msg],user+"-----------"+passwd
except:
print results,host_list[host_msg],user+"-----except------"+passwd
else:
user=host_message[host_list[host_msg]][1].keys()[0]
passwd=host_message[host_list[host_msg]][1][host_message[host_list[host_msg]][1].keys()[0]]
result=ssh_conn.set_ssh_cmd(u"/bin/echo %s|/usr/bin/passwd --stdin %s" %(passwd,user))
print result,host_list[host_msg],user+"-----------"+passwd
if __name__ == "__main__":
dic=main()
with open("host_message.pickle","w") as fd:
pickle.dump(dic,fd)
set_execl()
ssh_main()
相關(guān)文章
python通過(guò)opencv實(shí)現(xiàn)圖片裁剪原理解析
這篇文章主要介紹了python通過(guò)opencv實(shí)現(xiàn)圖片裁剪原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
詳解Python二維數(shù)組與三維數(shù)組切片的方法
這篇文章主要介紹了詳解Python二維數(shù)組與三維數(shù)組切片的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
python GUI庫(kù)圖形界面開發(fā)之PyQt5菜單欄控件QMenuBar的詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5菜單欄控件QMenuBar的詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02
詳解python中TCP協(xié)議中的粘包問(wèn)題
這篇文章主要介紹了python中TCP協(xié)議中的粘包問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔
這篇文章主要介紹了python 如何用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下2020-11-11

