1.批量創建10個用戶stu01-stu10,並且設置隨機8位密碼,要求不能用shell迴圈(例如:for,while等),只能用命令及管道實現。 1 ##方法1: 2 [root@server tmp]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#us...
1.批量創建10個用戶stu01-stu10,並且設置隨機8位密碼,要求不能用shell迴圈(例如:for,while等),只能用命令及管道實現。
1 ##方法1: 2 [root@server tmp]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --stdin \1; echo -e "\1 \t `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 ' ' '\n' | 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 ' ' '\n'|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.