admin 管理员组

文章数量: 886850


2024年4月13日发(作者:国家精品课程网站)

批量修改远程linux服务器密码

第一种方法 通过expect批量修改linux服务器用户名和密码

公司现在有100多台服务器,需要对服务器进行批量的修改root密码,还要在每台服务器新

建一个用户,如果一个一个登到的服务器上进行修改的话,估计一个下午又没有了,首先想到

的是我最喜欢的php,其中有个ssh2 模块,不得不承认用php 来处理这样的任务是一件很

纠结的事情,然后又想到了用shell,不过发现很快就写不下去了,shell 的交互能力还是不能

让人恭维的,最后发现了expect,expect 以其强大的交互能力,无疑是处理这类任务的首选,

再加上expect 可以内嵌shell,这使得他变得更强大。

首先要有一个服务器的ip列表,把要处理的ip放在里面

192.168.6.236

192.168.6.235

192.168.6.234

192.168.6.233

192.168.6.232

192.168.6.231

.....

然后是shell脚本

#!/bin/bash

if [ "$1" = "" ] || [ "$2" = "" ] || [ "$1" = "--help" ] [ "$1" = "-h" ]

then

echo "usage: path/iplist path/adduser"

exit

fi

cat $1 | while read line

do

[ -z $line ] && continue

$2 $line;

done

echo -e "n well donen"

下面是最重要的部分 adduser

#!/usr/bin/expect

#登录的用户名

set loginuser ""

#密码

set loginpass ""

#要修改的用户名

set passuser "dfdjfk"

#要修改成的新密码

set newpass "your new password"

#要添加的新的用户名

set newusername "newusername"


本文标签: 修改 服务器 批量 处理 用户名