使用expect批量修改Linux服务器密码与添加用户
版权申诉

"该文档是关于远程批量修改Linux服务器密码的脚本归类,主要介绍了如何使用expect脚本来实现这一操作。"
在管理大量Linux服务器时,有时需要对所有服务器进行统一的操作,如批量修改密码或创建新用户。在这种情况下,手动逐台操作既耗时又效率低下。文档中提到了一种解决方案,即使用expect脚本,它能够自动化处理与远程服务器的交互过程,大大提高了工作效率。
Expect是一个Tcl扩展,专门设计用于自动化命令行接口的交互。在这个场景下,expect可以模拟人类用户的行为,自动输入密码、响应提示,从而实现批量修改远程Linux服务器的root密码以及创建新用户。
以下是使用expect批量修改密码的基本步骤:
1. 首先,你需要一个包含所有服务器IP地址的列表,如示例中的`iplist`文件。
2. 创建一个shell脚本(如`shell.sh`),这个脚本会读取IP列表并调用expect脚本。shell脚本接受两个参数:IP列表的路径和expect脚本的路径。
3. 在shell脚本中,使用`cat`命令读取IP列表,并通过`while`循环逐个处理每一行(即每个IP地址)。然后调用expect脚本,将当前的IP地址作为参数传递。
4. expect脚本(如`adduser`)接收IP地址作为参数。在这里,设置变量来存储登录用户名、密码、要修改的用户名、新密码、新增用户的用户名和密码。
5. 使用`spawn ssh`启动一个新的SSH连接到指定的IP地址,设置超时时间,并定义命令提示符。
6. 在expect脚本中,通过`send`命令发送登录凭证,例如`send "$loginuser\r"`和`send "$loginpass\r"`,模拟用户登录。
7. 登录成功后,执行相应的命令,如`passwd $passuser`来修改指定用户的密码,或者`useradd -m $newusername`和`passwd $newusername`来创建新用户并设置密码。
8. 完成所有操作后,关闭SSH连接,然后继续处理下一个IP地址,直到列表结束。
通过这种方法,你可以高效地对大批量的Linux服务器进行批量密码修改或用户创建等操作,而无需手动干预。这在系统维护和管理中是非常实用的工具,尤其适用于拥有大量服务器的环境。
1834 浏览量
704 浏览量
2021-11-23 上传
2021-11-05 上传
508 浏览量
2024-09-18 上传
2453 浏览量

ll17770603473
- 粉丝: 0
最新资源
- C#实现桌面飘雪效果,兼容Win7及XP系统
- Swift扩展实现UIView视差滚动效果教程
- SQLServer 2008/2005版驱动sqljdbc4.jar下载
- 图像化操作的apk反编译小工具介绍
- 掌握IP定位技术,轻松获取城市信息
- JavaFX项目计划应用PlanAmity代码库介绍
- 新华龙C8051系列芯片初始化配置教程
- readis:轻松从多Redis服务器获取数据的PHP轻量级Web前端
- VC++开发的多功能计算器教程
- Android自定义图表的Swift开发示例解析
- 龙门物流管理系统:Java实现的多技术项目源码下载
- sql2008与sql2005的高效卸载解决方案
- Spring Boot微服务架构与配置管理实战指南
- Cocos2d-x跑酷项目资源快速导入指南
- Java程序设计教程精品课件分享
- Axure元件库69套:全平台原型设计必备工具集