python实现linux服务器批量修改密码并生成execl


Posted in Python onApril 22, 2014

批量修改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装饰器使用方法实例
Nov 21 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
对django views中 request, response的常用操作详解
Jul 17 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
PyCharm如何导入python项目的方法
Feb 06 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
基于python生成英文版词云图代码实例
May 16 Python
解决Python Matplotlib绘图数据点位置错乱问题
May 16 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
python中精确输出JSON浮点数的方法
Apr 18 #Python
python中使用OpenCV进行人脸检测的例子
Apr 18 #Python
在python的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 #Python
Python操作json数据的一个简单例子
Apr 17 #Python
python使用ctypes模块调用windowsapi获取系统版本示例
Apr 17 #Python
python调用windows api锁定计算机示例
Apr 17 #Python
python实现监控windows服务并自动启动服务示例
Apr 17 #Python
You might like
新版PHP极大的增强功能和性能
2006/10/09 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
教大家制作简单的php日历
2015/11/17 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
初探nodeJS
2017/01/24 NodeJs
基于JavaScript实现拖动滑块效果
2017/02/16 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
Python 变量的创建过程详解
2019/09/02 Python
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
护士求职推荐信范文
2013/11/23 职场文书
测控技术与仪器个人求职信范文
2013/12/30 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python