首页 > 其他 > 详细

利用expect交互批量修改普通用户密码

时间:2020-11-09 18:05:10      阅读:32      评论:0      收藏:0      [点我收藏+]

利用expect交互批量修改普通用户密码

#!/bin/bash
#Author:shsnc-chenhaijun
#Time:2020-10-23
#Name:for_user.sh
#Version:V1.0
#Description:This is a password change script.

user=$1
old_passwd=$2
new_passwd=$3
d_time=`date +"%F-%H-%M"`
#ios_name=`lsb_release -a| awk -F ‘[: ]+‘ ‘NR==2{print $3}‘ |sed ‘s/^[ \t]*//g‘`
#iod_name="bash ios.sh"
#Define modification function
function change_passwd(){
for ip in `cat ip_list.txt`
   do
    if [ $# -ne 3 ]
     then
         echo "Please check whether the transmission is correct"
         echo "$0 Usage:username|the old passwd|The new password"
         exit 0
    fi
    
    timeout 3 sshpass -p ${old_passwd}  ssh  -o StrictHostKeyChecking=no ${user}@${ip} hostname >>./change_passwd_${d_time}.log 2>&1  
    if [ $? -ne 0 ]
     then
        echo "username or passwd error Please check"
        echo "${ip}:${user}:${old_passwd}" >>./old_passwd_${d_time}.txt
        continue
    elif [ ‘${ios_name}‘==‘CentOS‘ ] || [ ‘${ios_name}‘==‘RedHat‘ ] || [ ‘${ios_name}‘==‘openSUSE‘ ]
     then
       /usr/bin/expect << EOF
       set timeout 1   
       spawn /usr/bin/ssh ${user}@$ip
       expect {
           "(yes/no)?" {send "yes\r";exp_continue}
           "*assword" {send "${old_passwd}\r"}
       }
       expect "*]#"
       send "passwd\r"
       expect {
           "*assword:" { send "${old_passwd}\r" }
       }
       
       expect {
           "New password:" { send "${new_passwd}\r" }
       }
       
       expect {
           "Retype new password:" { send "${new_passwd}\r" }
       }
       
       expect "*]#"
       send "exit\r"
       expect eof
EOF
  echo "${ip}:${user}:${new_passwd}">>./new_passwd_${d_time}.txt
else
    echo "${ip}:${user}:${old_passwd}">>./old_passwd_${d_time}.txt
fi
done
}

change_passwd $1 $2 $3

利用expect交互批量修改普通用户密码

原文:https://www.cnblogs.com/woaiyunwei/p/13948851.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!