栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux批量处理用户名密码及密码复杂度

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux批量处理用户名密码及密码复杂度

#!/bin/sh
 
timeout=3
cmd="id > /tmp/b4"
 
login(){
 
    for i in `cat user_p.txt`
    do
	    #echo "$in"
	    ip=`echo $i|awk -F "," '{print $1}'`
	    echo $ip
	    user=`echo $i|awk -F "," '{print $3}'`
	    #echo $user
	    passwd=`echo $i|awk -F "," '{print $4}'`
		strlen=`echo $passwd | grep -E --color '^(.{8,}).*$'`
        #密码长度是否8位以上(包含8位)
        strlow=`echo $passwd | grep -E --color '^(.*[a-z]+).*$'`
        #密码是否有小写字母
        strupp=`echo $passwd | grep -E --color '^(.*[A-Z]).*$'`
        #密码是否有大写字母
        strts=`echo $passwd | grep -E --color '^(.*W).*$'`
        #密码是否有特殊字符
        strnum=`echo $passwd | grep -E --color '^(.*[0-9]).*$'`
        #密码是否有数字
        #-n 判断字符不为空 返回真
        if [ -n "${strlen}" ] && [ -n "${strlow}" ] && [ -n "${strupp}" ] && [ -n "${strts}" ]  && [ -n "${strnum}" ] 
        then
           echo "" >> os_check.out
        else  
           echo "$i------"###密码复杂度不符###"" >> os_check.out
        fi
	    #echo $pass
	    port=`echo $i|awk -F "," '{print $2}'`
	    #echo $port
            
	   
	    result=`sshpass -p "$passwd" ssh -p $port -o StrictHostKeyChecking=no -o ConnectTimeout=$timeout  $user@$ip $cmd`
           if [ $? -ne 0  ];then
		   echo "$i------"###登录失败用户名或密码错误###"" >> os_check.out
	  # else
	#	   echo "$i + "success""
	   fi
 
	   # echo "$ip" >> result.txt
	     
        
    done
    echo ""
}

login


cat user_p.txt
192.168.153.146,22,root,QWer12#$




#!/bin/sh
 
timeout=3
cmd="id > /tmp/b4"

IP=$(ip -4 route get 8.8.8.8 2>/dev/null | head -1 | awk '{print $7}')
 
login(){
 
    for i in `cat user_list.txt`
    do	
	ip=`echo $i|awk -F "," '{print $1}'`
	echo $ip
	user=`echo $i|awk -F "," '{print $3}'`
	passwd=`echo $i|awk -F "," '{print $4}'`
	strlen=`echo $passwd | grep -E --color '^(.{8,}).*$'`
        strlow=`echo $passwd | grep -E --color '^(.*[a-z]+).*$'`
        strupp=`echo $passwd | grep -E --color '^(.*[A-Z]).*$'`
        strts=`echo $passwd | grep -E --color '^(.*W).*$'`
        strnum=`echo $passwd | grep -E --color '^(.*[0-9]).*$'`
        #-n 判断字符不为空 返回真
        if [ -n "${strlen}" ] && [ -n "${strlow}" ] && [ -n "${strupp}" ] && [ -n "${strts}" ]  && [ -n "${strnum}" ] 
        then
           echo "$ip+$user""###口令正常###" >> user_result.txt
        else  
           echo "$ip+$user------"###密码复杂度不符###"" >> user_result.txt
        fi
	   port=`echo $i|awk -F "," '{print $2}'`
	   result=`sshpass -p "$passwd" ssh -p $port -o StrictHostKeyChecking=no -o ConnectTimeout=$timeout  $user@$ip $cmd`
           if [ $? -ne 0  ];then
	       echo "$ip+$user------"###登录失败用户名或密码错误###"" >> user_result.txt
	   fi 
    done
    echo ""
}

check(){

cat /etc/passwd |grep -v nologin |awk -F: '{print $1}' > $IP.txt
sed -i "s/^/$IP,/g"  $IP.txt
 
for i in `cat $IP.txt`
do	
    ip=`echo $i|awk -F "," '{print $1}'`
    user=`echo $i|awk -F "," '{print $2}'`
	
	for ui in `cat user_list.txt`
	do
		u_ip=`echo $ui|awk -F "," '{print $1}'`
		u_user=`echo $ui|awk -F "," '{print $3}'`
		if [[ $ip == $u_ip ]] && [[ $user == $u_user ]]
		then
			echo "$ip+$user""###用户存在###" >> user_result.txt
		else  
			echo "$ip+$user""###用户不存在###" >> user_result.txt
		fi	
	done
done
echo ""


}

han(){
sort user_result.txt | uniq > user_result.out
rm -rf user_result.txt

}


login
check
han


#注 若 user_list.txt 不传IP参数可将IP 替换脚本中与ip相关参数 不传端口号参数可将$port替换为服务器ssh端口号

#user_list.txt
#192.168.153.145,22,root,QWer12#$
#192.168.153.145,22,root,QWer12

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号