Linux中提供方便的让我们生成随机密码的功能,并且生成的密码有一定的复杂度,符合密码规范。下面是Linux中生成随机密码的两种常用的方式:

1.用mkpasswd命令:

使用mkpasswd命令,需要事先安装expect模块,以CentOS为例:

yum -y install expect

安装好后,直接运行mkpasswd,就能生成随机密码了。并且命令还有参数,如下:
#mkpasswd 参数 用户名
-l 定义生成密码的长度,默认9
-d 定义密码里面包含数字个数,默认2
-c 定义包含小写字母个数,默认2
-C 定义包含大写字母个数,默认2
-s 定义包含特殊字符个数,默认1
-p 另外指定一个生成密码的程序,默认是/etc/yppasswd
后面不带用户只是把生成的密码打印出来,如果后面带了用户,就会把用户的密码修改,并把密码打印出来。
2.使用用apg命令
需要自行下载安装, ftp://195.220.108.108/linux/dag/redhat/el5/en/i386/dag/RPMS/apg-2.2.3-3.el5.rf.i386.rpm

参数:
-a 选择生成密码的算法。默认是0(容易记忆),不过1算法生成的密码更复杂,更安全。
-n 生成几个随即密码,默认6
-m 生成的密码的最小长度,如果-m > -x,则-m = -x。默认8
-x 生成密码的最大长度,默认10
-M 模式
   n 可以有数字
   N 必须有数字
   c 可以有大写字母
   C 必须有大写字母
   l 可以有小写字母
   L 必须有小写字母
   s 可以有特殊字符
   S 必须有特殊字符
注意: 使用了这些模式后,密码生成的速度会变慢。
-E 排除后面的字符
-d 在生成的密码中间不加任何分割符,默认6个密码连成一长串
-q 安静模式