批量创建10个用户,并设置8位随机密码及保存

一、知识点

  方法1:

  • 创建用户 useradd $user
    • 10个用户 seq -f '[prefix]%0ng' 10
    • [prefix]前缀 0n n 表示前缀后面跟几个0
  • 设置密码 echo "密码"|passwd --stdin $user
    seq -f 'stu%02g' 10|awk '{print "echo -n -e  用户名:"$0"\t 密 >>/tmp/stupass &&  useradd "$0" && op=$(date +%s%N | md5sum | cut -c 1-8) && echo $op|passwd --stdin "$0"| echo 码:$op >>/tmp/stupass"}'|bash
    

      结果:

    [root@gaogzhen ~]# cat /tmp/stupass
    用户名:stu01 密码:39d44135
    用户名:stu02 密码:01909f9e
    用户名:stu03 密码:303b52c0
    用户名:stu04 密码:af0f3215
    用户名:stu05 密码:1bec26e9
    用户名:stu06 密码:2503fb1e
    用户名:stu07 密码:df4c0318
    用户名:stu08 密码:540b520e
    用户名:stu09 密码:71ab8179
    用户名:stu10 密码:f03cebe6

  解释:

  • echo -n -e  -n不要在最后自动换行   -e  若字符串中出现以下字符,则特别加以处理,而不会将它当成一般 \t出入tab符
  • date +%s%N %s当前时间毫秒数 %N当前时间纳秒数
  • md5sum | cut -c 1-8取计算MD5值的1-8位

  方法2:

for n in `seq -w 01 05`;do useradd user$n;echo "user$n:user$n`echo user$n|md5sum|cut -c1-8`"|chpasswd;done

  方法3:

for n in `seq -w 20`;do useradd user$n;echo "user$n`echo user$n|md5sum|cut -c1-8`"|passwd --stdin user$n;done

  

  

猜你喜欢

转载自www.cnblogs.com/gaogzhen/p/10167873.html