批量修改linux服务器密码脚本程序

张 佃栋 linux运维, 系统 2018-09-11 279 次浏览 , , , 没有评论

代码如下:

#!/bin/bash
oldpassword=$1
newpassword=$2

for i in `cat servip.txt`

do
echo “ssh to $i via root user.”
ip=$i

/usr/bin/expect <<flagEOF

set time 30
spawn ssh root@$ip
expect {
“*yes/no*” {send “yes\r”; exp_continue}
“*password:*” {send “${oldpassword}\r”}
}

expect “*#”
send “export LANG=en\r”
expect “*#”
send “passwd”
expect “*password:”
send “${newpassword}\r”
expect “*password:”
send “${newpassword}\r”
expect “*#”
send “exit\r\r”

interact
expect flagEOF
flagEOF

echo “modified root’s password of $i.”

done

执行命令

./mod_password.sh oldpassword newpassword

说明:

1、该脚本执行需要满足两个前提:一是批量修改的服务器root密码均一样;二是执行命令的linux服务器安装了expect命令。

2、执行命令时,需要传入两个参数,第一个是原密码;第二个是修改后的新密码。

3、servip.txt与mod_password.sh 脚本在同一路径下,且文档中,每行只能有一个服务器ip地址。

本文出自张佃栋de博客,转载时请注明出处及相应链接。

本文永久链接: https://zhangdd.com/761.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Protected with IP Blacklist CloudIP Blacklist Cloud
回顶部