python服务器批量处理_python实现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()

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值