当为一个用户生成密码的时候,还相对容易些,如果一下子为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