您好,登錄后才能下訂單哦!
Solaris_change_passwd使用注意事項及說明
1.
腳本只測試了Solaris10的英文及中文版(oracle公司出品)
2.
Solaris10中文版系統需要將系統字符集改為zh_CN.UTF-8
3.
以bash執行此腳本
bash Solaris_change_passwd 用戶名($1) IP地址($2) 用戶密碼($3) 需要更改密碼的用戶名($4) 更改的用戶密碼($5)
腳本變量定義:
#!/bin/bash
USER=$1 #用戶名
IP=$2 #IP地址
PW=$3 #用戶密碼
CHE_USER=$4 #需要更改密碼的用戶名
CHE_PW=$5 #更改的密碼
ping -c 3 ${IP} >/dev/null #ping 3次 $IP地址不輸出顯示
if [ "$?" -ge "1" ] ;then #如果輸出結果大于等于1,則
echo "The network impassability" #輸出“The network impassability”
exit 1 #退出此次循環
fi #結束if循環
expect -c " #調用expect腳本
set timeout 30 #設置超時間為30秒
match_max 100000 #設置匹配最大長度為100000
spawn ssh $USER@$IP #調用ssh程序登錄
expect {
\"yes\/no\" { send \"yes\n\" ; exp_continue } #匹配到yes/no時,輸入yes.繼續向下執行
\"assword: \" { #匹配到“assword”時
send \"${PW}\n\" #輸入$PW
expect \"Permission denied\" { #匹配到“Permission denied”時
send_user \"\nUser name password mistake, or no permissions.\n\"
#輸出“nUser name password mistake, or no permissions.”
exit 2 #退出2循環
}
}
\"口令: \" { # 匹配到“assword”時
send \"${PW}\n\" # 輸入$PW
expect \"Permission denied\" { #匹配到“Permission denied”時
send_user \"\nUser name password mistake, or no permissions.\n\"
#輸出“nUser name password mistake, or no permissions.”
exit 3 #退出3循環
}
}
\"Connection refused\" { #匹配到“Connection refused”
send_user \"\nSSH Service is not open\n\" #輸出“nSSH Service is not open”
exit 4 #退出4循環
}
}
expect \"*#*\" { send \"passwd $CHE_USER\n\" } #匹配到#號時,輸入“passwd $CHE_USER”
expect {
\"assword:\" { send \"$CHE_PW\n\" ; exp_continue } #匹配到assword時,輸入 $CHE_PW,繼續向下執行
\"口令:\" { send \"$CHE_PW\n\"; exp_continue } #匹配到口令:時,輸入 $CHE_PW,繼續向下執行
}
expect\"#\" { send \"exit\n\" } #輸入exit退出 (實在不行就干掉)
expect eof #結束expect調用腳本
"
用法:bash gaimi.sh root 192.168.0.2 redhat aa 123123
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。