批量建立用戶及密碼


1、批量創建10個系統賬號oldboy01-oldboy10並設置密碼(密碼不能相同)

1 [root@mysql tmp]# cat 15-05-create_user_passwd.sh
2 #!/bin/sh
3 for n in $(seq -w 10)
4 do
5   useradd oldboy-$n
6   #密碼就是最后一次
7   echo "$n"|passwd --stdin oldboy-$n
8 done

執行結果:

 1 [root@mysql tmp]# sh 15-05-create_user_passwd.sh
 2 Changing password for user oldboy-01.
 3 passwd: all authentication tokens updated successfully.
 4 Changing password for user oldboy-02.
 5 passwd: all authentication tokens updated successfully.
 6 Changing password for user oldboy-03.
 7 passwd: all authentication tokens updated successfully.
 8 Changing password for user oldboy-04.
 9 passwd: all authentication tokens updated successfully.
10 Changing password for user oldboy-05.
11 passwd: all authentication tokens updated successfully.
12 Changing password for user oldboy-06.
13 passwd: all authentication tokens updated successfully.
14 Changing password for user oldboy-07.
15 passwd: all authentication tokens updated successfully.
16 Changing password for user oldboy-08.
17 passwd: all authentication tokens updated successfully.
18 Changing password for user oldboy-09.
19 passwd: all authentication tokens updated successfully.
20 Changing password for user oldboy-10.
21 passwd: all authentication tokens updated successfully.
22  
23 [root@mysql tmp]# su - oldboy-01
24  
25 [oldboy-01@mysql ~]$ su - oldboy-10
26 口令:10

 

2、批量創建10個系統賬號oldboy1-oldboy10 並設置密碼(密碼為隨機8位字符串)

先補充點生成隨機數的知識
Linux 隨機數
[root@mysql tmp]# echo $RANDOM
15598

[root@mysql tmp]# echo $(date +%t%N)
028885282

[root@mysql tmp]# echo $(date +%t%N)$RANDOM

06024296622562
[root@mysql tmp]# echo $(date +%t%N)$RANDOM|md5sum
56a71b3a6ae0880ef4ea2a03c742353e -

取隨機數
[root@mysql tmp]# echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9
e46f36ca
[root@mysql tmp]# echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9
716d731a
[root@mysql tmp]# echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9
d4c8a8bf

 

腳本如下:

 1 [root@kuaiwei tmp]# cat adduser.sh
 2 #!/bin/sh
 3 . /etc/init.d/functions
 4 >/tmp/user.txt
 5  
 6 for n in $(seq -w 10)
 7 do
 8     passwd=`echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9`
 9     useradd oldboy-$n >&/dev/null && user_status=$?
10     echo "$passwd"|passwd --stdin oldboy-$n >&/dev/null && pass_status=$?
11  
12     if [ $user_status -eq 0 -a $pass_status -eq 0 ];then      
13           action "adduser oldboy-$n" /bin/true
14           echo -e "user:\toldboy-$n pass:\t$passwd" >>/tmp/user.txt   
15      else
16           action "adduser oldboy-$n" /bin/false
17           echo -e "user:\toldboy-$n pass:\t$passwd" >>/tmp/fail_user.txt
18      fi
19    
20  done

執行結果:

 1 [root@kuaiwei tmp]# sh adduser.sh
 2 adduser oldboy-01 [  OK  ]
 3 adduser oldboy-02 [  OK  ]
 4 adduser oldboy-03 [  OK  ]
 5 adduser oldboy-04 [  OK  ]
 6 adduser oldboy-05 [  OK  ]
 7 adduser oldboy-06 [  OK  ]
 8 adduser oldboy-07 [  OK  ]
 9 adduser oldboy-08 [  OK  ]
10 adduser oldboy-09 [  OK  ]
11 adduser oldboy-10 [  OK  ]
12  
13 檢查創建用戶日志,發現創建成功
14 [root@kuaiwei tmp]# cat user.txt
15 user:   oldboy-01 pass: dd0b275b
16 user:   oldboy-02 pass: 968a2c8f
17 user:   oldboy-03 pass: 02b270cb
18 user:   oldboy-04 pass: 905deeee
19 user:   oldboy-05 pass: 138e6cf1
20 user:   oldboy-06 pass: 4be5f9a4
21 user:   oldboy-07 pass: e0bb693e
22 user:   oldboy-08 pass: 97fa2caa
23 user:   oldboy-09 pass: a08bff7d
24 user:   oldboy-10 pass: e4f4d39f
25  
26 檢查創建錯誤日志,發現為空
27 [root@kuaiwei tmp]# cat fail_user.txt
28  
29 重復執行,要先刪除原來用戶,執行下面命令,可以批量刪除
30 [root@kuaiwei tmp]# for n in $(seq -w 10);do userdel -r oldboy-$n;done
31  
32 重復執行一次,又會生成不一樣的密碼。
33 [root@kuaiwei tmp]# sh test.sh
34 adduser oldboy-01 [  OK  ]
35 adduser oldboy-02 [  OK  ]
36 adduser oldboy-03 [  OK  ]
37 adduser oldboy-04 [  OK  ]
38 adduser oldboy-05 [  OK  ]
39 adduser oldboy-06 [  OK  ]
40 adduser oldboy-07 [  OK  ]
41 adduser oldboy-08 [  OK  ]
42 adduser oldboy-09 [  OK  ]
43 adduser oldboy-10 [  OK  ]
44  
45 檢查結果,發現密碼變了。
46 [root@kuaiwei tmp]# cat user.txt
47 user:   oldboy-01 pass: 7152783a
48 user:   oldboy-02 pass: 5f714e8a
49 user:   oldboy-03 pass: 68f85e07
50 user:   oldboy-04 pass: d21fa12d
51 user:   oldboy-05 pass: 35cd16ed
52 user:   oldboy-06 pass: 8760591b
53 user:   oldboy-07 pass: 497bff6b
54 user:   oldboy-08 pass: d8266b5d
55 user:   oldboy-09 pass: 27404ce2
56 user:   oldboy-10 pass: cc35251a

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM