用途:
复制代码用于批量修改密码,基于账户密码过期后繁琐的交互修改过程实现自动修改(因交互次数不同,需自行修改);
环境说明:
1、脚本执行主机上需安装expect包;可通过rpm直接安装;
2、hosts.txt文件为要修改密码的主机ip地址列表。
脚本:
[root@localhost tmp]# cat newpass.sh
#!/bin/bash
oldpasswd="oldpasswd"
newpasswd="newpasswd"
for i in `cat /tmp/hosts.txt`
do
/usr/bin/expect << EOF
spawn /bin/ssh root@$i
expect {
"yes/no" { send "yes\r" }
}
expect "password:"
send "$oldpasswd\r"
expect "Last"
send "passwd\r"
expect "current"
send "$oldpasswd\r"
expect "New"
send "$newpasswd\r"
expect "Retype"
send "$newpasswd\r"
send "exit\r"
expect eof
EOF
done