一:创建的要求
1)创建user01-user02
2)生成20组随机密码
3)设置密码
4)输出清单
二:代码及测试结果
adduser () {
pw_txt=`mktemp pw.XXXXX`
#1)创建用户
for i in `seq -s ' ' -w 1 20` #-s表示横着输出,-w表示保持宽度,即把1 2 3 变成01 02 03这样
do
useradd user$i
done
#2)生成随机密码
cat /dev/urandom | strings -6 |egrep "^[ a-zA-Z0-9]{6}$" | head -n 20 >$pw_txt #仅要六位数
#3)设置密码
for i in `seq -s ' ' -w 1 20`;do
pw=`head -n $i $pw_txt | tail -1` #文件中前i行,取最后一行
echo $pw | passwd --stdin user$i &>/dev/null
echo -e "user$i\t\t$pw" >>user_add_result.txt
done
#4)输出
clear
echo "用户创建成功,密码文件是:user_add_result.txt"
cat user_add_result.txt
rm -rf $pw.txt
}
adduser
结果:
用户创建成功,密码文件是:user_add_result.txt
user01 NpPQFH
user02 B1sg85
user03 WtS8Xm
user04 NEcFhm
user05 jh1NBQ
user06 WeATWQ
user07 FYm15o
user08 F1Onq
user09 avmb0Q
user10 esnWP4
user11 oXKXu5
user12 LevuDF
user13 OcqWfW
user14 aEEL4r
user15 OevCfb
user16 yfcwFJ
user17 8miU3Z
user18 dih00H
user19 lVs6OI
user20 WGVtR1
[root@localhost shell]# cd ~
[root@localhost ~]# su - user01
Last login: Thu Oct 28 04:10:13 CST 2021 on pts/0
[user01@localhost ~]$ su - user02
Password:
[user02@localhost ~]$
补充:
一、md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是对文件的内容校验,而不是文件名。文件内容相同,其md5值相同。
二、随机数
(1)随机变量:echo $RANDOM
(2)伪随机数处理器:/dev/urandom
使用:
cat /dev/urandom | strings -6 |egrep "^[ a-zA-Z0-9]{6}$" | head -20 >pw.txt #仅要六位数