当为一个用户生成密码的时候,还相对容易些,如果一下子为N多用户生成随机密码,如果手动再去生成将是一个很大的工作量,此时我们可以使用脚本来实现这样的功能。

   这里可以定义密码的长度,需要生成密码的用户列表,及密码本(即最终的密码需要包含什么的字符)


[root@TKE/DEVEL_NEW shscripts]# more random_passwd.sh
#!/usr/bin/env bash
## created by James.Liu at 2014-04-17
## desc : generate random password for each user
## define password file
CHARS=(a b c d e f g h i j k l m n o p t q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 + -)
## define user list
USER_LIST=(user1 user2 user3 ... userN)
## set password is empty at first
PASSWD=''
## define length of password
PASS_LED=9
## password file length
CHARS_LEN=${#CHARS[@]}
## define function to get password
get_passwd()
{
for((i=0;i<${PASS_LED};i++))
do
        PASSWD+=${CHARS[$((RANDOM%${CHARS_LEN}))]}
done
echo ${PASSWD}
}
## set password for each user
for ((j=0;j<${#USER_LIST[@]};j++))
do
echo "${USER_LIST[j]}=`get_passwd`" >>./USER_PASSWD_`date +%Y%m%d%H%M%S`
done



最终的效果如下:

[root@TKE/DEVEL_NEW shscripts]# cat USER_PASSWD_20140417154723

user1=zO++-vlke

user2=r8JRtoGTp

user3=t1grYrEtR

....

userN=XE+jrK737