python实现linux服务器批量修改密码并生成execl
python实现linux服务器批量修改密码并生成execl
发布时间:2016-12-28 来源:查字典编辑
摘要:批量修改linux服务器密码,同时生成execl表格复制代码代码如下:#!/usr/bin/envpython#coding:utf8#随机...

批量修改linux服务器密码,同时生成execl表格

复制代码 代码如下:

#!/usr/bin/env python

#coding:utf8

#随机生成自定义长度密码

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()

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类