Python脚本批量修改服务器密码
搭建环境
使用脚本
passwd_chang #!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import string,os
import pexpect
import xlrd,xlwt
from xlwt import Style
from xlutils.copy import copy def passwd_creat():
salt = ''.join(random.sample(string.ascii_letters + string.digits, 8))
return salt def passwd_change(userip, oldpasswd, newpasswd):
child = pexpect.spawn('ssh connect@'+userip) ###connect 用户可改root
fout = file('/home/shell/passwd/newpasslog.txt','a') ##定义日志文件,
child.logfile = fout
index = child.expect(['password:','continue connecting (yes/no)?'])
if index == 0:
child.sendline(oldpasswd)
elif index == 1:
child.sendline('yes')
child.expect('password:')
child.sendline(oldpasswd)
child.expect('$')
child.sendline('sudo -i')
child.expect('#')
child.sendline('echo '+newpasswd+' | passwd --stdin connect') ### connect 用户可改root
child.expect('#')
child.sendline('exit') def open_excel(passwdfile):
data = xlrd.open_workbook(passwdfile)
return data def get_coldata(passwdfile,sheet_name,num):
data = open_excel(passwdfile)
table = data.sheet_by_name(sheet_name)
coldata = table.row_values(num)
return coldata def get_rownum(passwdfile,sheet_name):
data = open_excel(passwdfile)
table = data.sheet_by_name(sheet_name)
rowsNum = table.nrows #获取总行数
colsNum = table.ncols #获取总列数
return rowsNum,colsNum def add_newpwd(row, col, str):
rb = xlrd.open_workbook(passwdfile, formatting_info=True)
wb = copy(rb)
ws = wb.get_sheet(0)
ws.write(row, col, str)
wb.save(passwdfile) if __name__ == "__main__":
passwdfile = "/home/shell/passwd/newpasswd.xls" #文档读取输出路径
sheet_name = "Sheet1"
rowsNum, colsNum = get_rownum(passwdfile,sheet_name)
add_newpwd(0,colsNum,'newpasswd')
for i in range(1,rowsNum):
newpasswd = passwd_creat()
coldata = get_coldata(passwdfile,sheet_name,i)
passwd_change(coldata[0], coldata[1], newpasswd)
add_newpwd(i,colsNum,newpasswd)
1. 上传脚本,以及脚本需要的模块
2.安装所需要的模块。
3.执行脚本测试实验。
Python脚本批量修改服务器密码的更多相关文章
- Python自动批量修改服务器密码
工作中,我们经常会定期更换服务器密码,如果手动去修改,不仅费时,而且容易出错.下面提供了一种思路,可以实现批量.自动修改服务器密码. 大致思路:首先,为每一台服务器设定一个唯一标识:其次,将每台服务器 ...
- python实现批量修改服务器密码
需求:机房.线上有多台主机,为了保障安全,需要定期修改密码.若手动修改,费时费力易出错. 程序应该满足如下需求 : 1.在现有的excel密码表格,在最后一个字段后面生成新的密码,另存为一个新的exc ...
- saltstack+python批量修改服务器密码
saltstack安装:略过 python脚本修改密码: # -*- coding utf-8 -*- import socket import re import os import sys imp ...
- Ansible playbook 批量修改服务器密码 先普通后root用户
fsckzy Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...
- ansible批量修改服务器密码
看了一下网上代码大多数是ansible-playbook实现的,需要写一个脚本,或者手动传递变量进去. 以前用python tcp模块写过客户端主动上报修改密码脚本 今天写一个ansible主控客户端 ...
- 批量修改Linux密码脚本(Python)
搭建环境 centos 7.4 使用脚本 python 批量修改connect用户的密码 生成密码为随机密码 保存为xls文档 #!/usr/bin/env python # -*- coding: ...
- (转)linux passwd批量修改用户密码
linux passwd批量修改用户密码 原文:http://blog.csdn.net/xuwuhao/article/details/46618913 对系统定期修改密码是一个很重要的安全常识, ...
- linux passwd批量修改用户密码
linux passwd批量修改用户密码 对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用 passwd user 这样的命令来修改密码,但是这样会进入交互模式,即使使用脚本也不 ...
- python脚本批量生成数据
在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...
随机推荐
- tpcc-mysql 试用
percona 出的一个mysql压力测试工具,至于tpcc的话,是一个衡量事务处理能力的一个值.具体可以看老外对他的定义. http://www.tpc.org/tpcc/results/tpcc_ ...
- 14.4 Go Xorm
14.4 Go Xorm 获取xorm go get -u -v github.com/go-xorm/xorm xorm增删改查 /** * 应用程序 * 同目录下多文件引用的问题解决方法: * h ...
- STM32 Keil 软件仿真设置
设置 Dialog.DLL 分别为:DARMSTM.DLL和TARMSTM.DLL, Parameter 均为:-pSTM32F103RC,用于设置支持芯片的软硬件仿真
- BZOJ1082 二分搜索
1082: [SCOI2005]栅栏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2247 Solved: 952[Submit][Status] ...
- PhpStorm2016.3激活
选择License server,输入以下任意一个地址: http://idea.imsxm.com/http://114.215.133.70:41017/http://mcpmcc.com:101 ...
- es6基础:类、继承、重写
es6真正的引入的面相对象的类,以前我们总是通过其他手段来模拟类这种形式,现在终于有了,我有点开心,又有点难过,因为在我看来,js并不是所谓的面相对象的语言,反而更偏向函数式,原型继承是他真正的面目. ...
- NodeJS——大汇总(一)(只需要使用这些东西,就能处理80%以上业务需求,全网最全node解决方案,吐血整理)
一.前言 本文目标 本文是博主总结了之前的自己在做的很多个项目的一些知识点,当然我在这里不会过多的讲解业务的流程,而是建立一个小demon,旨在帮助大家去更加高效 更加便捷的生成自己的node后台接口 ...
- Docker的iptables规则在iptables重启后丢失
前因后果 1.在跳板机上使用ansible命令测试机器B时,报错如下,于是就怀疑是网络防火墙的问题 10.10.0.86 | FAILED >> { "failed": ...
- [C#] 使 ToolTip 一直显示 (在 WinForm 与 WPF 中的差异解决方案)
需求 自己绘制的UI,检测鼠标位置,适时显示出 ToolTip 1 WinForm 的 ToolTip // Member define: private ToolTip _toolTip = new ...
- Linux、Ubuntu、CentOS安装和配置zsh
目录 01 zsh的安装 02 配置zsh 2.1 安装oh-my-zsh 2.2 查看oh-my-zsh目录 2.3 oh-my-zsh 插件的管理 2.3.1 添加插件 2.3.2 zsh-aut ...