Linux教程

批量修改linux用户密码脚本

本文主要是介绍批量修改linux用户密码脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  最近要批量修改linux os用户的密码,修改完并且保存下来,密码的规则最好是数字、小写字母、大写字母和特殊符号中的三种,并且长度要够,从而提高用户的安全性和系统的安全性。网上找了批量修改用户的脚本,发现密码的规则和长度不符合,然后自己写了一个,并加了逻辑判断,脚本如下。

for i in `cat ips`;do
  ipadd=`echo $i | awk -F "[:]" '{print $1}'`
  user=`echo $i | awk -F "[:]" '{print $2}'`
  PASS=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1|head -c 16)
  success=success_user.txt
  fail=fail_user.txt
  tmp_result=tmp.txt
  ssh -o ConnectTimeout=5 $ipadd "echo $ipadd $user"
  if [ $? -eq 0 ];then

      ssh $ipadd "echo $PASS |passwd --stdin $user &>/dev/null"
      ssh $ipadd "chage -l $user|grep 'Last password change'|awk '{print \$NF}'" >$tmp_result
      if [ $(cat ${tmp_result}) -eq 2021 ];then
            echo "$ipadd  $user   $PASS" >> $success
      else
           echo "$ipadd  $user   $PASS" >> $fail
      fi
  else
      echo  "$ipadd  $user" >> ./login_fail_list
  fi
done

  
  简要说明:
  1. 密码修改结果展示:

[root@localhost ~]# tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1|head -c 16
aZDvwrT8zg2JsXcU

  2. 登陆失败的机器列表在login_fail_list文件中,密码的修改结果保存在success_user.txt,脚本只做了简单的逻辑判断,可按需修改。

这篇关于批量修改linux用户密码脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!