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()
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: Python中的多重装饰器
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论