expect 批量修改root密码

93 篇文章 ¥39.90 ¥99.00
本文介绍了一种使用expect脚本批量修改多台服务器root密码的方法。通过读取name.tmp文件中的用户、IP地址、旧密码和新密码,expect.sh脚本将这些信息传递给pass.exp脚本,后者利用ssh连接到指定IP,用新密码更新root用户的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oadb01:/root/sbin/expect# cat expect.sh 
while read line
do
user=`echo $line | awk '{print $1}'`
ip=`echo $line |awk '{print $2}'`
passwd=`echo $line | awk '{print $3}'`
newpasswd=`echo $line | awk '{print $4}'`
#把shell中的$user $ip $passwd参数传递给expect脚本
expect   pass.exp $user $ip $passwd $newpasswd
done < name.tmp

oadb01:/root/sbin/expect# cat name.tmp 
root  121.40.31.108  xxxxx xxx
root  121.40.116.25  xxxx xxxxx
oadb01:/root/sbin/expect# cat pass.exp 
#!/usr/bin/expect
 # 设置超时时间为 60 秒
# set timeout  60
 # 设置要登录的主机 IP 地址
# set host=$host
 # 设置以什么名字的用户登录
# set ip=$ip
 # 设置用户名的登录密码
# set passwd $passwd
 
#把shell的参数传递给expect脚本
set user [lindex $argv 0]
set ip  [lindex $argv 1]
set passwd  [lindex $argv 2]
set newpasswd  [lindex $argv 3]

 # 等待响应,第一次登录往往会提示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值