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实现linux服务器批量修改密码并生成execl
Apr 22 Python
python一键升级所有pip package的方法
Jan 16 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
Django之无名分组和有名分组的实现
Apr 16 Python
Python基本类型的连接组合和互相转换方式(13种)
Dec 16 Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
python中__slots__节约内存的具体做法
Jul 04 Python
Python之matplotlib绘制折线图
Apr 13 Python
使用python绘制横竖条形图
Apr 21 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函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
php中使用websocket详解
2016/09/23 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
django 读取图片到页面实例
2020/03/27 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
网络安全方面的面试题
2016/01/07 面试题
后勤园长自我鉴定
2013/10/17 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
个人贷款承诺书
2014/03/28 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
党员活动总结
2015/02/04 职场文书