zoukankan      html  css  js  c++  java
  • 批量创建10个用户stu01-stu10

    1.批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell循环(例如:for,while等),只能用命令及管道实现。

     1 ##方法1:
     2 [root@server tmp]# echo stu{01..10}|tr " " "
    "|sed -r 's#(.*)#useradd 1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --stdin 1; echo -e "1 	 `echo "$pass"`">>/tmp/oldboy.log#g'|bash
     3 useradd: user 'stu01' already exists
     4 Changing password for user stu01.
     5 passwd: all authentication tokens updated successfully.
     6 useradd: user 'stu02' already exists
     7 Changing password for user stu02.
     8 passwd: all authentication tokens updated successfully.
     9 useradd: user 'stu03' already exists
    10 Changing password for user stu03.
    11 passwd: all authentication tokens updated successfully.
    12 useradd: user 'stu04' already exists
    13 Changing password for user stu04.
    14 passwd: all authentication tokens updated successfully.
    15 useradd: user 'stu05' already exists
    16 Changing password for user stu05.
    17 passwd: all authentication tokens updated successfully.
    18 useradd: user 'stu06' already exists
    19 Changing password for user stu06.
    20 passwd: all authentication tokens updated successfully.
    21 useradd: user 'stu07' already exists
    22 Changing password for user stu07.
    23 passwd: all authentication tokens updated successfully.
    24 useradd: user 'stu08' already exists
    25 Changing password for user stu08.
    26 passwd: all authentication tokens updated successfully.
    27 useradd: user 'stu09' already exists
    28 Changing password for user stu09.
    29 passwd: all authentication tokens updated successfully.
    30 useradd: user 'stu10' already exists
    31 Changing password for user stu10.
    32 passwd: all authentication tokens updated successfully.
    33 上述命令实际就是再拼N条下面的命令的组合,举一条命令stu01用户的过程拆解如下:
    34 useradd stu01 ; 
    35 pass=$((RANDOM+10000000)); 
    36 echo "$pass"|passwd --stdin stu01; 
    37 echo -e "stu01        `echo "$pass"`">>/tmp/oldboy.log
    38 特别说明:如果用shell循环结构会更简单,之所以限制使用循环的目的是锻炼学生的基础命令运用
    39 能力,学到现在还没学到SHELL循环课程呢
    40 ##方法2:
    41 [root@server tmp]# echo stu{11..12}|xargs -n1 useradd ;echo stu{11..12}:`cat /dev/urandom|tr -dc 0-9|fold -w8|head -1`|xargs -n1|tee -a pass.txt|chpasswd
    42 ##方法3:
    43 [root@server tmp]# echo stu{21..30} | tr ' ' '
    ' | sed -e 's/^/useradd /' -e 's/(stu[0-9]{2})$/1 && echo "1:`echo $[$RANDOM**3] | cut -c1-8`" | tee -a userInfo.txt | cut -d: -f2 | passwd --stdin 1/' | bash
    44 Changing password for user stu21.
    45 passwd: all authentication tokens updated successfully.
    46 Changing password for user stu22.
    47 passwd: all authentication tokens updated successfully.
    48 Changing password for user stu23.
    49 passwd: all authentication tokens updated successfully.
    50 Changing password for user stu24.
    51 passwd: all authentication tokens updated successfully.
    52 Changing password for user stu25.
    53 passwd: all authentication tokens updated successfully.
    54 Changing password for user stu26.
    55 passwd: all authentication tokens updated successfully.
    56 Changing password for user stu27.
    57 passwd: all authentication tokens updated successfully.
    58 Changing password for user stu28.
    59 passwd: all authentication tokens updated successfully.
    60 Changing password for user stu29.
    61 passwd: all authentication tokens updated successfully.
    62 Changing password for user stu30.
    63 passwd: all authentication tokens updated successfully.
    64 功能: 创建10个用户 分别是 stu21-stu30 其密码是用随机数变量RANDOM生成,均保存至 userInfo.txt中,格式: username:passwd   这个写的不算好  如果有更好的一定要分享哦!  上面的随机数 我之前是用日期生成的,是不对的,因为有可能会有重复现象,所以我后来干脆用RANDOM**3取其前8位,可确保唯一性
    65 ##方法4:
    66 [root@server tmp]# echo stu{01..10} |tr ' ' '
    '|sed -rn 's@^(.*)$@useradd 1 ; echo $RANDOM|md5sum|cut -c 1-8 >/data/1;cat /data/1|passwd --stdin 1@gp'|bash
    67 useradd: user 'stu01' already exists
    68 Changing password for user stu01.
    69 passwd: all authentication tokens updated successfully.
    70 useradd: user 'stu02' already exists
    71 Changing password for user stu02.
    72 passwd: all authentication tokens updated successfully.
    73 useradd: user 'stu03' already exists
    74 Changing password for user stu03.
    75 passwd: all authentication tokens updated successfully.
    76 useradd: user 'stu04' already exists
    77 Changing password for user stu04.
    78 passwd: all authentication tokens updated successfully.
    79 useradd: user 'stu05' already exists
    80 Changing password for user stu05.
    81 passwd: all authentication tokens updated successfully.
    82 useradd: user 'stu06' already exists
    83 Changing password for user stu06.
    84 passwd: all authentication tokens updated successfully.
    85 useradd: user 'stu07' already exists
    86 Changing password for user stu07.
    87 passwd: all authentication tokens updated successfully.
    88 useradd: user 'stu08' already exists
    89 Changing password for user stu08.
    90 passwd: all authentication tokens updated successfully.
    91 useradd: user 'stu09' already exists
    92 Changing password for user stu09.
    93 passwd: all authentication tokens updated successfully.
    94 useradd: user 'stu10' already exists
    95 Changing password for user stu10.
    96 passwd: all authentication tokens updated successfully.
  • 相关阅读:
    CodeForces 785D Anton and School
    CodeForces 785C Anton and Fairy Tale
    CodeForces 785B Anton and Classes
    CodeForces 785A Anton and Polyhedrons
    爱奇艺全国高校算法大赛初赛C
    爱奇艺全国高校算法大赛初赛B
    爱奇艺全国高校算法大赛初赛A
    EOJ 3265 七巧板
    EOJ 3256 拼音魔法
    EOJ 3262 黑心啤酒厂
  • 原文地址:https://www.cnblogs.com/hackerer/p/5085418.html
Copyright © 2011-2022 走看看