帮我写一个shell脚本,完成批量修改centos7主机密码,目前情况是当前的账户密码已经过期,登录后需要先输入一次当前密码,再输入两次新密码完成修改
时间: 2024-03-19 18:43:44 浏览: 66
好的,我可以为您提供一个简单的shell脚本,以完成上述任务:
```bash
#!/bin/bash
# 获取当前密码
read -s -p "请输入当前密码: " current_password
echo ""
# 获取新密码
read -s -p "请输入新密码: " new_password
echo ""
# 再次确认新密码
read -s -p "请再次输入新密码: " new_password_confirm
echo ""
# 判断两次输入的新密码是否一致
if [ "$new_password" != "$new_password_confirm" ]; then
echo "两次输入的新密码不一致,请重新运行脚本并输入相同的新密码。"
exit 1
fi
# 批量修改主机密码
# 假设主机列表存储在hosts.txt文件中
while read host; do
sshpass -p "$current_password" ssh root@"$host" 'echo "'"$new_password"'" | passwd --stdin root'
done < hosts.txt
echo "密码修改完成。"
```
脚本中使用了`sshpass`命令,需要先安装才能使用,安装方法如下:
```bash
sudo yum install -y sshpass
```
需要注意的是,此脚本仅供学习和参考,实际应用中请根据具体情况进行修改和调整。
阅读全文