批量建立10個使用者,並設定8位隨機密碼及儲存
阿新 • • 發佈:2018-12-24
一、知識點
方法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
結果:
[[email protected] ~]# 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