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使用random和tertools模块解一些经典概率问题
Jan 28 Python
Python堆排序原理与实现方法详解
May 11 Python
PyTorch学习笔记之回归实战
May 28 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
python pandas移动窗口函数rolling的用法
Feb 29 Python
动态设置django的model field的默认值操作步骤
Mar 30 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
scrapy-splash简单使用详解
Feb 21 Python
PyMongo 查询数据的实现
Jun 28 Python
python如何为list实现find方法
May 30 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为SHOPEX增加日志功能代码
2010/07/02 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
JS冒泡事件与事件捕获实例详解
2016/11/25 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
JavaScript面向对象精要(下部)
2017/09/12 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
跟老齐学Python之集合(set)
2014/09/24 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
使用python进行拆分大文件的方法
2018/12/10 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Django 请求Request的具体使用方法
2019/11/11 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
九州传奇上机题
2014/07/10 面试题
J2EE中的容器都包括哪些
2013/08/21 面试题
高级工程师岗位职责
2013/12/15 职场文书
运动会表扬稿大全
2014/01/16 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
超市收银员岗位职责
2015/04/07 职场文书