expect 批量修改服务器用户密码
生活随笔
收集整理的這篇文章主要介紹了
expect 批量修改服务器用户密码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
每個技術人員離職,留下的人 就要修改他的服務器賬號密碼,很麻煩,故寫次腳本偷懶
change.sh 如下
| 1 2 3 4 5 6 7 8 9 10 | #!/bin/bash for?i?in?`awk?'{print?$1}'?account.txt` do ?j=`awk?-v?l="$i"?{if(l==$1)print?$2}?account.txt` ?a=`awk?-v?l="$i"?{if(l==$1)print?$3}?account.txt` ?b=`awk?-v?l="$i"?{if(l==$1)print?$4}?account.txt` ?c=`awk?-v?l="$i"?{if(l==$1)print?$5}?account.txt` ?d=`awk?-v?l="$i"?{if(l==$1)print?$6}?account.txt` expect?login.exp?$i?$j?$a?$b?$c?$d done |
login.exp 如下
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/usr/bin/expect?-f set?ip?[lindex?$argv?0] set?user?[lindex?$argv?1] set?passwd?[lindex?$argv?2] set?newpasswd?[lindex?$argv?3] set?rootpasswd?[lindex?$argv?4] set?newrootpasswd?[lindex?$argv?5] spawn?ssh?$user@$ip expect?{ ????????"yes/no"?{send?"yes\r";exp_continue} ????????"password:"{send?"$passwd\r"} } expect?"]$" send?"password?$user" expect?{ ????????"password"?{send?"$newpasswd\r";exp_continue} ????????"password"?{send?"$newpasswd\r"} } expect?"]$" send?"su?root\r" expect?"password" send?"$rootpasswd\r" expect?"]#" send?"password?root" expect?{ ????????"password"?{send?"$newrootpasswd\r";exp_continue} ????????"passwrod"?{send?"$newrootpasswd\r"} } expect?"]#" send?"exit\r" |
account.txt 格式如下
| 1 | ip?user?passwd?newpasswd?rootpasswd?newrootpasswd |
本文轉自wks9751CTO博客,原文鏈接:http://blog.51cto.com/wks97/1619255?,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的expect 批量修改服务器用户密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到女人给我钱是什么意思
- 下一篇: 孕妇梦到孩子丢了又找到了是什么意思