当前位置:首页 > 电脑常识 > 正文

linux系统批量改削root用户暗码 8090安适门户

11-21 电脑常识

脚本目的:批量改削linux系统root用户暗码
条件:必需是改削的用户是root,因为只有root才有权限使用passwd命令
说明:先把IP、用户、暗码、端口信息写到old_info文件中,脚本从这个文件读取对应的信息,操作expect免交互登陆系统。将随机生成的8位暗码改削为root用户新暗码。然后将新暗码生存到net_info文件中.
[root@wuke1 test1]# cat old_info
#     ip     user    passwd    port
#------------------------------------------------
192.168.1.181  root    admini123     22
192.168.1.182  root    admini123     22

[root@wuke1 test1]# cat change_pass.sh
#! /bin/bash
old_info=/opt/test1/old_info
new_info=/opt/test1/new_info
for ip in `awk '/^[^#]/{print $1}' $old_info`
do
user=`awk -v I=$ip '{if(I==$1)print $2}' $old_info`
pass=`awk -v I=$ip '{if(I==$1)print $3}' $old_info`
port=`awk -v I=$ip '{if(I==$1)print $4}' $old_info`
new_pass=`mkpasswd -l 8`       #mkpasswd生成随机暗码
echo "$ip    $user    $new_pass    $port" >> $new_info
expect -c "
spawn ssh -p$port $user@$ip       #spawn执行一个命令
set timeout 2                     #设置超时
expect {
\"(yes/no)\" {send \"yes\r\";exp_continue}
\"password:\" {send \"$pass\r\";exp_continue}
\"$user@*\" {send \"echo \'$new_pass\' |passwd --stdin $user\r exit\r\";exp_continue}
}"
done

功效:

参数说明:
set:可以设置超时,也可以设置变量
timeout:expect超时期待时间,默认10S
spawn:执行一个命令
expect "":匹配输出的内容
exp_continue:继续执行下面匹配
\r:可以理解为回车
awk -v I="$ip":赋值变量
expect{...}:输入多行记录

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/13038.html

博客主人杰米WWW
杰米博客,为大家提供seo以及it方面技巧喜欢的朋友收藏哦!
  • 11365文章总数
  • 1378074访问次数
  • 建站天数
  •