一次性同步修改多台linux服务器的密码
如何一次性修改多台linux服务器的密码,这是个问题,
我给大家提供一个脚本,是前一段我刚刚写的,希望能对大家有所帮助
一 , 需求:linux环境下运行,需要tcl和expect支持
原理说明:利用expect的摸拟交互的功能,登录到指定的多台服务器上修改密码
共2个程序文件 passall.sh和passone
另外用户需要自建一个ip地址列表文件,每行一个ip
二,程序代码:
//-----------------------------------程序文件一---------------------------------------
passall.sh
#!/bin/bash
if [ "$1" = "" ] || [ "$2" = "" ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]
then
echo "usage: passall.sh /path/ip_list.txt /path/passone"
exit
fi
cat $1 | while read line
do
# if ==null
[ -z $line ] && continue
$2 $line;
done
echo -e "/n/npass mod OK!/n"
passone
//-----------------------------------程序文件二---------------------------------------
#!/usr/bin/expect -f
#-------------------------------------------------- about us
# product: passone
# Author: liuhongdi <liuhongdi@gmail.com>
# Last Modified: 2008-05-13
# version: 0.2.2
# user:this script will help you to modify password for many linux(unix) machine
# license: this script is based GNU GPL
#
我给大家提供一个脚本,是前一段我刚刚写的,希望能对大家有所帮助
一 , 需求:linux环境下运行,需要tcl和expect支持
原理说明:利用expect的摸拟交互的功能,登录到指定的多台服务器上修改密码
共2个程序文件 passall.sh和passone
另外用户需要自建一个ip地址列表文件,每行一个ip
二,程序代码:
//-----------------------------------程序文件一---------------------------------------
passall.sh
#!/bin/bash
if [ "$1" = "" ] || [ "$2" = "" ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]
then
echo "usage: passall.sh /path/ip_list.txt /path/passone"
exit
fi
cat $1 | while read line
do
# if ==null
[ -z $line ] && continue
$2 $line;
done
echo -e "/n/npass mod OK!/n"
passone
//-----------------------------------程序文件二---------------------------------------
#!/usr/bin/expect -f
#-------------------------------------------------- about us
# product: passone
# Author: liuhongdi <liuhongdi@gmail.com>
# Last Modified: 2008-05-13
# version: 0.2.2
# user:this script will help you to modify password for many linux(unix) machine
# license: this script is based GNU GPL
#