linux生成随机密码有很多方法,这里介绍两种,一种是内部系统变量($RANDOM),另一种是使用openssl。

内部系统变量($RANDOM)直接echo就可以获取到一组随机数:

# echo $RANDOM
30468

获取8位随机数:

#echo $RANDOM|md5sum |cut -c 1-8
393c839b

使用openssl命令获取随机数:

# openssl rand -base64 8
qpIpWLYS6Yk=

获取8位随机数:

# openssl rand -base64 8|cut -c 1-8
GPHYu+MU

批量创建10个系统用户,并且设置随机数密码脚本为:

# cat useradd.sh 
#!/bin/bash
for i in `seq -w 10`
    do
    pass=`echo $RANDOM|md5sum |cut -c 1-8`  #使用随机数做密码的时候,一定要定义变量,否则生成的密码和最后记录的密码不统一
    useradd user$i && echo $pass |passwd --stdin user$i
    echo -e "user:user$i \t pass:$pass" >>/tmp/user.log
done