批量修改Linux密码脚本(Python)
搭建环境
使用脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
############################################
#通过脚本批量修改Linux主机密码并保存到xls中
#雪文龙 2018-5-18 V1
#
#修改者:xxx
#修改时间:2018-xx-xx
#修改内容:修改内容描述
############################################ 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)
上传脚本,以及脚本需要的模块
安装所需要的模块
执行脚本测试实验
批量修改Linux密码脚本(Python)的更多相关文章
- linux批量修改root密码脚本
转至:https://blog.csdn.net/onionm/article/details/100514892?utm_medium=distribute.pc_relevant_download ...
- (转)linux passwd批量修改用户密码
linux passwd批量修改用户密码 原文:http://blog.csdn.net/xuwuhao/article/details/46618913 对系统定期修改密码是一个很重要的安全常识, ...
- linux passwd批量修改用户密码
linux passwd批量修改用户密码 对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用 passwd user 这样的命令来修改密码,但是这样会进入交互模式,即使使用脚本也不 ...
- python批量修改linux主机密码
+++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...
- saltstack+python批量修改服务器密码
saltstack安装:略过 python脚本修改密码: # -*- coding utf-8 -*- import socket import re import os import sys imp ...
- ansible批量修改linux服务器密码的playbook
从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...
- ansible非root用户批量修改root密码
前言: 由于线上服务器密码长久没有更新,现领导要求批量更换密码.线上的之前部署过salt,但由于各种因素没有正常使用. 使用自动化工具批量修改的计划搁浅了,后来领导给了个python多线程修改密码脚本 ...
- Ansible playbook 批量修改服务器密码 先普通后root用户
fsckzy Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...
- 初学shell,为了练习sed,写了个简单的批量修改文件名的脚本,后来执行时发现系统竟然自带有一个rename命令,顺便也记下了
1 #!/bin/bash 2 <<Comment 3 批量修改文件名的脚本 4 2015/10/24 5 webber 6 Comment 7 ARGS=2 ...
随机推荐
- vscode配置及插件
编辑vue时候的用户配置 { "workbench.colorTheme": "Solarized Dark", // 主题 "editor.dete ...
- MetaBase使用iframe内嵌到Vue页面样式优化
Matebase是一个开源,易上手的BI工具,这里不做太多介绍了. 官网地址:https://www.metabase.com/ 解决问题描述: 使用iframe内嵌Metabase公开链接之后,页面 ...
- Couchdb 任意命令执行漏洞(CVE-2017-12636)
影响版本:小于 1.7.0 以及 小于 2.1.1 该漏洞是需要登录用户方可触发,如果不知道目标管理员密码,可以利用CVE-2017-12635先增加一个管理员用户 依次执行如下请求即可触发任意命令执 ...
- 大数据学习(14)—— HBase进阶
HBase读写流程 在网上找了一张图,这个画的比较简单,就拿这个图来说吧. 写流程 1.当Client发起一个Put请求时,首先访问Zookeeper获取hbase:meta表. 2.从hbase:m ...
- 当鼠标移入div上时,div的背景色在4s之内渐变为灰色,同时在5s之内顺时针旋转45度,且尺寸缩小一半;当鼠标移走时,再渐变恢复初始样式
<style> #d1{ width:200px; height:200px; border:1px solid #000; transition:background 4s linear ...
- 移植TensorFlow到Windows平台
2015年11月,Google宣布开源旗下机器学习工具TensorFlow,引发业界热潮.TensorFlow原生支持*unix系和安卓平台,但并不提供对Windows平台的支持.如果想在Window ...
- 单片机学习(二)开发板LED灯的控制
目录 开发板上LED灯相关的电路图 点灯 LED闪烁 LED流水灯 其他效果 灯光二进制计数器 进阶版流水灯 开发板上LED灯相关的电路图 这是P2相关7个引脚的电路图,在默认情况下它是直接接着VCC ...
- 洛谷P1879题解
题面 显然是个状压DP. 看数据范围,不难发现算法复杂度应该是 \(O(n\times 2^n \times 2^n)\) . 显然第一个 \(n\) 是遍历每一行的土地. 后面两个 \(2^n\) ...
- JS基础-数据类型判断typeof、instanceof、Object.prototype.toString
typeof用在基本数据类型和函数时,返回其对应类型的描述,对于引用类型都返回为object. instanceof无法判断基本数据类型,对于引用类型数据,返回其其对应类型. Object.proto ...
- 开源爆款,阿里P7Android技术笔记,理论与实战齐飞,限时开放下载!
自我介绍 2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在. 被人面试过,也面试过很多人.深知大多数初中级Android工程师,想要 ...