练习shell脚本题目:写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符;

之前练习过批量创建用户,使用for循环就可以实现,这次多了一个需求,设置用户密码,密码为user后面跟5个随机字符。思路为:创建用户当然还是使用for循环,随机字符需要研究一下怎么生成,怎么在脚本里面设置密码?

下面是经过我测试多次,实现题目需求的脚本,大家有更好的可以贴出来,共同学习。

[root@localhost ~]# cat user.sh#!/bin/bash#writen by mofansheng @2015-08-04for i in `seq 1 20`do  pw=`echo $[$RANDOM]|md5sum|cut -c 1-5`  useradd user$i  echo "user$i $pw" >> /root/pw.txt  echo "user$pw" |passwd --stdin user$idone

提醒注意:生成随机密码后直接给用户设定了,但是我并不知道随机密码是什么啊。所以加了一个随机密码定向到一个文件中,方便管理。格式为:用户名 后面跟随机字符;举例如下:

[root@localhost ~]# cat pw.txtuser1 3e9dbuser2 febb6user3 43c55

其他生成随机字符的方法:

1:生成的随机字符为字母加数字组合

[root@localhost ~]# cat /dev/urandom | head -1|md5sum |head -c 5cf93d[root@localhost ~]# cat /dev/urandom | head -1|md5sum |head -c 575217

2:生成的随机字符包含特殊字母

[root@localhost ~]# cat /dev/urandom | strings -n 5 | head -n 1O4%"G[root@localhost ~]# cat /dev/urandom | strings -n 5 | head -n 1mMSxu