43tt 发表于 2014-5-12 09:35:02

python批量修改服务器密码,同时保存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()
def passlist(r_user,c_user,ip_list,web_list):
   dic={}
   for i in ip_list:
       if i.split() in web_list:
         dic]=,{r_user:GenPassword(32),c_user:GenPassword(32)}]
       else:
         dic]=,{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=
       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=
   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
#密码信息文件保存为execl
import xlwt,pickle
#from datetime import datetime;
def read_dic():
   with open("host_message.pickle","rb") as f:
       return pickle.load(f)
def set_execl():
   ip_host_dic=read_dic()
   style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on');
   wb = xlwt.Workbook();
   ws = wb.add_sheet('hosts');
   ws.write(0, 0, "hostname", style0);
   ws.write(0, 1, "ipaddrs", style0);
   ws.write(0, 2, "root_passwd", style0);
   ws.write(0, 3, "www_passwd", style0);
   iplist=ip_host_dic.keys()
   for i in xrange(len(iplist)):
       if "www" in ip_host_dic].keys():
         ws.write(i+1, 0,ip_host_dic]);
         ws.write(i+1, 1,iplist);
         ws.write(i+1, 2,ip_host_dic]["root"]);
         ws.write(i+1, 3,ip_host_dic]["www"]);
       else:
         ws.write(i+1, 0,ip_host_dic]);
         ws.write(i+1, 1,iplist);
         ws.write(i+1, 2,ip_host_dic]["root"]);
   wb.save('example.xls');
if __name__ == "__main__":
   set_execl()


#!/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,port,user,passwd)
       ssh_conn=sshd(host_attribute,pid_host)
       if "www" in host_message].keys():
         for username in xrange(len(host_message].keys())):
               try:
                   user=host_message].keys()
                   passwd=host_message]].keys()]
                   results=ssh_conn.set_ssh_cmd(u"/bin/echo %s|/usr/bin/passwd --stdin %s" %(passwd,user))
                   print results,host_list,user+"-----------"+passwd
               except:
                   print results,host_list,user+"-----except------"+passwd
       else:
         user=host_message].keys()
         passwd=host_message]].keys()]
         result=ssh_conn.set_ssh_cmd(u"/bin/echo %s|/usr/bin/passwd --stdin %s" %(passwd,user))
         print result,host_list,user+"-----------"+passwd
if __name__ == "__main__":
   dic=main()
   with open("host_message.pickle","w") as fd:
       pickle.dump(dic,fd)
   set_execl()
   ssh_main()

北京-光辉岁月 发表于 2014-5-13 01:47:32

尼玛啊 我写的东西已经烂大街了
页: [1]
查看完整版本: python批量修改服务器密码,同时保存execl表格