练习shell脚本题目:写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符;
之前练习过批量创建用户,使用for循环就可以实现,这次多了一个需求,设置用户密码,密码为user后面跟5个随机字符。思路为:创建用户当然还是使用for循环,随机字符需要研究一下怎么生成,怎么在脚本里面设置密码?
下面是经过我测试多次,实现题目需求的脚本,大家有更好的可以贴出来,共同学习。
[root@localhost ~]# cat user.sh #!/bin/bash #writen by mofansheng @2015-08-04 for 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$i done提醒注意:生成随机密码后直接给用户设定了,但是我并不知道随机密码是什么啊。所以加了一个随机密码定向到一个文件中,方便管理。格式为:用户名 后面跟随机字符;举例如下:
[root@localhost ~]# cat pw.txt user1 3e9db user2 febb6 user3 43c55其他生成随机字符的方法:
1:生成的随机字符为字母加数字组合
[root@localhost ~]# cat /dev/urandom | head -1|md5sum |head -c 5 cf93d [root@localhost ~]# cat /dev/urandom | head -1|md5sum |head -c 5 75217
2:生成的随机字符包含特殊字母