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抓取网页内容示例分享
Feb 24 Python
Python使用新浪微博API发送微博的例子
Apr 10 Python
Python使用三种方法实现PCA算法
Dec 12 Python
Django 生成登陆验证码代码分享
Dec 12 Python
python实现手机销售管理系统
Mar 19 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
Python增强赋值和共享引用注意事项小结
May 28 Python
使用Python实现跳帧截取视频帧
May 31 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 Python
django中cookiecutter的使用教程
Dec 03 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 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/07/17 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
python实现下载pop3邮件保存到本地
2018/06/19 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
如何通过python计算圆周率PI
2020/11/11 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
在线课程:Skillshare
2019/04/02 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
英语专业个人求职自荐信
2013/09/21 职场文书
找工作最新求职信
2013/12/22 职场文书
师德师风自查总结
2014/10/14 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
签订劳动合同通知书
2015/04/16 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
神秘岛读书笔记
2015/07/01 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书