expect 批量修改服务器用户密码

每个技术人员离职,留下的人 就要修改他的服务器账号密码,很麻烦,故写次脚本偷懒j_0059.gif

change.sh 如下

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
for in `awk '{print $1}' account.txt`
do
 j=`awk -v l="$i" {if(l==$1)print $2} account.txt`
 a=`awk -v l="$i" {if(l==$1)print $3} account.txt`
 b=`awk -v l="$i" {if(l==$1)print $4} account.txt`
 c=`awk -v l="$i" {if(l==$1)print $5} account.txt`
 d=`awk -v l="$i" {if(l==$1)print $6} account.txt`
expect login.exp $i $j $a $b $c $d
done

login.exp 如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/expect -f
set ip [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
set newpasswd [lindex $argv 3]
set rootpasswd [lindex $argv 4]
set newrootpasswd [lindex $argv 5]
spawn ssh $user@$ip
expect {
        "yes/no" {send "yes\r";exp_continue}
        "password:"{send "$passwd\r"}
}
expect "]$"
send "password $user"
expect {
        "password" {send "$newpasswd\r";exp_continue}
        "password" {send "$newpasswd\r"}
}
expect "]$"
send "su root\r"
expect "password"
send "$rootpasswd\r"
expect "]#"
send "password root"
expect {
        "password" {send "$newrootpasswd\r";exp_continue}
        "passwrod" {send "$newrootpasswd\r"}
}
expect "]#"
send "exit\r"

account.txt 格式如下

1
ip user passwd newpasswd rootpasswd newrootpasswd
















本文转自wks9751CTO博客,原文链接:http://blog.51cto.com/wks97/1619255 ,如需转载请自行联系原作者


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟机安装服务器2008,VMware Workstation 虚拟机安装64位windows 2008 R2 系统

偶看现在使用的电脑是 惠普 康柏 Elite 8300 MT Mini Tower,操作系统 Windows 7 旗舰版 64位基本硬件展示处理器 英特尔 第三代酷睿 i5-3470 3.20GHz 四核主板 惠普 3397内存 8 GB ( 记忆科技 DDR3 1600MHz / 镁光 DDR3 1600MHz )主硬盘 西数 WDC WD5000AAKX-60U6A…

黑客入门之单机游戏外挂

转载于: http://www.cnblogs.com/huipengbo/p/6887170.html 一.本文以植物大战僵尸外挂的编写为例,介绍单机游戏外挂的编写和使用过程。 1.启动单机游戏如:植物大战僵尸如下图 2.想明白我们写外挂的目的:让我们有充足的阳光数量来使用&#x…

巨无霸Win8PE X64服务器维护专用,【13年4月4日】维护版win8pe【32位+64位+纯64位】(支持BIOS+EFI)...

因为单独一个PE是不够用的,已经制作了合盘,可BIOS启动,也可EFI启动。详情移步》欢迎下载使用,觉得好的话,请回帖支持一下,您的支持,就是我的动力。。。。预祝大家新的一年合家欢乐!工…

centos7修改服务器密码忘记,Centos7忘记root密码怎么修改

Centos7忘记root密码怎么修改一、 reboot重启机器,当出现引导界面时,按e进入内核编辑界面。二、 往下翻,到LANGzh_CN.UTF-8后面添加 \rd.break(别忘了空格)三, 修改完成后,按下CtrlX组合键来运行这个修改后的内核程序(…

1.移动端测试知识笔记(面试必备,测试点,adb命令)

移动端测试: 移动应用,特性(功能) 满足 需求(产品文档,隐性需求) 一。App功能测试: 死活背下来1.业务逻辑正确性测试: 产品文档,隐性需求- 写成测试用例 2.兼容性测试: 1.系统版本&#xff1a…

Day 3 网络基础

网络基础 一、什么是互联网协议及为何要有互联网协议 ? 互联网协议:指的就是一系列统一的标准,这些标准称之为互联网协议。互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite)。 互联网协议…

element里面popover里面的高度_五斗柜的高度一般是多少 五斗柜放在什么位置好

五斗柜也就是一种抽屉收纳柜,目前在卧室或是书房等空间均是可以见到。其根据使用用途的不同,进而有着高度和款式,以及摆放位置等等的区别。因此,下面带来五斗柜的高度一般是多少、五斗柜放在什么位置好,以及五斗柜里面…

【NOIP2016】愤怒的小鸟

题目描述 Kiana最近沉迷于一款神奇的游戏无法自拔。 简单来说,这款游戏是在一个平面上进行的。 有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如的曲线,其中a,b是Kiana指定的参数…

java swing 动态生成表格_6 个曾经牛逼哄哄的 Java 技术,你用过吗?

大家好啊,今天给大家分享下我的开发历程中,我知道的那些被淘汰的技术或者框架,有些我甚至都没有用过,但我知道它曾经风光过。废话不多说,下面我要开始吹了……1、Swing下面这个是用 swing 开发的:Swing 算是…

[Java 安全]加密算法

Base64编码 算法简述 定义 Base64内容传送编码是一种以任意8位字节序列组合的描述形式,这种形式不易被人直接识别。 Base64是一种很常见的编码规范,其作用是将二进制序列转换为人类可读的ASCII字符序列,常用在需用通过文本协议(比…

2个字段并在一次插入一个字段里面_elasticsearch外用与内观(二)-当插入文档时,elasticsearch都在做什么...

Previous: elasticsearch外用与内观(一)-常用功能与使用方法 在了解了es的基本用法之后,我们再来看看当插入文档数据时,elasticsearch都在做什么。首先,es的索引只是一个逻辑概念,实际上是由一个个物理分片组成的,每个分片就是一个…

学习Spring Data JPA

简介 Spring Data 是spring的一个子项目,在官网上是这样解释的: Spring Data 是为数据访问提供一种熟悉且一致的基于Spring的编程模型,同时仍然保留底层数据存储的特​​殊特性。它可以轻松使用数据访问技术,可以访问关系和非关系…

git 常用commands(转)

常用 Git 命令清单 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是…

检查集群状态命令_轻松管理Kubernetes集群的7个工具

Kubernetes正在不断加快在云原生环境的应用,但如何以统一、安全的方式对运行于任何地方的Kubernetes集群进行管理面临着挑战,而有效的管理工具能够大大降低管理的难度。K9sk9s是基于终端的资源仪表板。它只有一个命令行界面。无论在Kubernetes仪表板Web …

vscode 模糊部分代码_本周 GitHub 速览:您的代码有声儿吗?(Vol.38)

作者:HelloGitHub-小鱼干摘要:还记得花式夸赞程序员的彩虹屁插件 vscode-rainbow-fart 吗?它后续有人啦!JazzIt 同它的前辈 vscode-rainbow-fart 一样,是一个能让代码“发声”的工具,它会在脚本运行成功或者…

C语言递归实现二叉树(二叉链表)的三种遍历和销毁操作(实验)

今天写的是二叉树操作的实验,这个实验有三个部分: ①建立二叉树,采用二叉链表结构 ②先序、中序、后续遍历二叉树,输出节点值 ③销毁二叉树 二叉树的节点结构定义 typedef struct BiTNode //二叉树的节…

Django 入门项目案例开发(中)

关注微信公众号:FocusBI 查看更多文章;加QQ群:808774277 获取学习资料和一起探讨问题。 昨天已经描述了如何搭建Django的开发环境,今天描述业务流程,具体我们要实现一个什么样的业务; 以下的业务都是假设的…

纵横公路造价软件学习_通辽分公司组织开展2020年 养护工程造价预算培训

为进一步提高养护员工业务水平和业务素质,提升熟练掌握信息化公路工程造价预算,11月5日-11月8日期间,通辽分公司组织开展了2020年养护工程造价预算培训。养护科全体人员、基层所站统计人员共计16人参加培训。本次培训邀请了纵横公路工程造价管…

arcgis插值不覆盖区划图_ArcGIS绘图—空气质量站点数据插值绘制等值线图

作者:吴琳;陈天舒,山东大学环境科学(大气化学)博士在读数据(Excel格式):多站点污染物数据(国,省,市控点),站点经纬度信息绘…

JavaScript覆盖率统计实现

主要需求 1、 支持browser & nodejs 由于javascript既能够在浏览器环境执行,也能够在nodejs环境执行,因此须要能够统计两种环境下单元測试的覆盖率情况。 2、 透明、无缝 用户写单元測试用例的时候,不须要为了支持覆盖率统计多写代码&…