搭建环境

centos 7.4

使用脚本

python
批量修改connect用户的密码
生成密码为随机密码 保存为xls文档

#!/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)
 
 

上传脚本,以及脚本需要的模块

1.1 创建转到脚本,模块包存放地址。
1.2安装上传工具。
1.3上传模块包脚本。
rz上传
sz下载

安装所需要的模块

2.1 解压gz包。
2.2 cd到解压文件目录下
2.3 执行脚本安装模块
目录下的所有gz包都要安装过程略过

执行脚本测试实验

3.1创建一个connect用户并设置密码。并登陆测试。
 
3.2创建文档(文档名需要和脚本里的名称一样)
3.3上传文档到定义的路径下
 
3.4执行脚本测试
3.5
sz下载表格查看密码
 
3.6 使用新密码登陆测试
 
 
 

批量修改Linux密码脚本(Python)的更多相关文章

  1. linux批量修改root密码脚本

    转至:https://blog.csdn.net/onionm/article/details/100514892?utm_medium=distribute.pc_relevant_download ...

  2. (转)linux passwd批量修改用户密码

    linux passwd批量修改用户密码  原文:http://blog.csdn.net/xuwuhao/article/details/46618913 对系统定期修改密码是一个很重要的安全常识, ...

  3. linux passwd批量修改用户密码

    linux passwd批量修改用户密码 对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用 passwd user 这样的命令来修改密码,但是这样会进入交互模式,即使使用脚本也不 ...

  4. python批量修改linux主机密码

    +++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...

  5. saltstack+python批量修改服务器密码

    saltstack安装:略过 python脚本修改密码: # -*- coding utf-8 -*- import socket import re import os import sys imp ...

  6. ansible批量修改linux服务器密码的playbook

    从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...

  7. ansible非root用户批量修改root密码

    前言: 由于线上服务器密码长久没有更新,现领导要求批量更换密码.线上的之前部署过salt,但由于各种因素没有正常使用. 使用自动化工具批量修改的计划搁浅了,后来领导给了个python多线程修改密码脚本 ...

  8. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  9. 初学shell,为了练习sed,写了个简单的批量修改文件名的脚本,后来执行时发现系统竟然自带有一个rename命令,顺便也记下了

    1 #!/bin/bash   2 <<Comment   3 批量修改文件名的脚本   4 2015/10/24   5 webber   6 Comment   7 ARGS=2   ...

随机推荐

  1. DC-3靶机

    仅供个人娱乐 靶机信息 下载地址:http://www.five86.com/downloads/DC-3.zip 一.主机扫描 arp-scan -l nmap -A -p 1-65535 -sV ...

  2. Vue学习笔记(三)条件渲染和循环渲染

    目录 一.条件渲染 1. v-if 2. 与v-else配合使用 3. 与v-else-if配合使用 4. v-show的使用 5. 类型切换案例 二.列表渲染 1. 遍历数组 2. 遍历对象 获取v ...

  3. for循环排它算法(经典实用)

    核心代码 let lis = document.querySelectorAll("li"); for(let i = 0; i < lis.length; i ++) { ...

  4. 做Android开发,你后悔过吗?

    有同学跟我说,编程太难了,总是有学不完的技术.框架,新技术也层出不穷,马上三十了,还有各种学不完的东西,后悔做程序员了 编程对我来讲,还难吗 我主业是做Android的. 我刚学编程的时候,觉得难点在 ...

  5. Android音视频开发(1):H264 基本原理

    前言 H264 视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264 以及 ffmpeg 等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大 ...

  6. Anaconda创建虚拟环境并使用Jupyter-notebook打开虚拟环境

    由于需要使用Tensorflow的1.xx的低版本,但是cmd下载一直报错没有解决,就想着用Anaconda,但是真实环境我已经装上Tensorflow2.0了不想换了,所以就想着再建一个python ...

  7. DVWA-全等级XSS(反射型、存储型)

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  8. 010 FPGA千兆网UDP通信【转载】

    一.以太网帧格式 图8‑12以太网帧格式 表8‑5以太网帧格式说明 类别 字节数 说明 前导码(Preamble) 8 连续 7 个 8'h55 加 1 个 8'hd5,表示一个帧的开始,用于双方设备 ...

  9. 分享一个自己制作的XML在线编辑器

    前言 一年多没更新博客了,原因是疫情期间<骑马与砍杀2>发售,然后去写游戏MOD去了. 用C#大概写了7个月的游戏MOD,每天晚上肝到很晚,然后期间又因为介绍这个游戏MOD,学习了PR,然 ...

  10. Ceph 管理和使用

    ceph 管理 上次介绍了Ceph集群架构并且搭建了ceph集群,本节介绍ceph用户认证流程和挂载.cephFS.ceph RBD以及ceph mds高可用 1. ceph 授权流程和用户权限管理 ...