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查找第k小元素代码分享
Dec 18 Python
理解python正则表达式
Jan 15 Python
插入排序_Python与PHP的实现版(推荐)
May 11 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
python逆向入门教程
Jan 15 Python
python 字典中取值的两种方法小结
Aug 02 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
Python Lambda函数使用总结详解
Dec 11 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 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
输出控制类
2006/10/09 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
浅谈js闭包理解
2019/04/01 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
python插入排序算法实例分析
2015/07/03 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
Django框架模板介绍
2019/01/15 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
python IP地址转整数
2020/11/20 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
执行总经理岗位职责
2014/02/03 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
公司市场部岗位职责
2015/04/15 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
起诉书范文
2015/05/20 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis