linux随机密码生成工具mkpasswd安装与使用教程

发布时间:2019-12-01编辑:脚本学堂
linux下的一个强大的生成随机密码的工具,mkpasswd的安装方法,使用mkpasswd工具生成随机密码的几个例子,并介绍了结合shell脚本生成复杂的随机密码的方法与例子。

随机密码工具mkpasswd用法指南

1、使用yum安装mkpasswd随机密码工具

复制代码 代码示例:

# yum -y install expect
Loaded plugins: fastestmirror, security
Determining fastest mirrors
 * base: mirrors.yun-idc.com
 * extras: mirrors.btte.net
 * updates: mirrors.btte.net
base            | 3.7 kB     00:00    
extras          | 3.4 kB     00:00    
extras/primary_db              |  30 kB     00:00    
updates         | 3.4 kB     00:00    
updates/primary_db             | 2.6 MB     00:04    
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package expect.x86_64 0:5.44.1.15-5.el6_4 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================
 Package      Arch         Version   Repository  Size
============================================================================
Installing:
 expect       x86_64       5.44.1.15-5.el6_4        base       256 k

Transaction Summary
==============================================================================
Install       1 Package(s)

Total download size: 256 k
Installed size: 553 k
Downloading Packages:
expect-5.44.1.15-5.el6_4.x86_64.rpm           | 256 kB     00:00    
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : expect-5.44.1.15-5.el6_4.x86_64    1/1
  Verifying  : expect-5.44.1.15-5.el6_4.x86_64    1/1

Installed:
  expect.x86_64 0:5.44.1.15-5.el6_4   

Complete!

2、查看mkpasswd参数设置

usage: mkpasswd [args] [user]
  where arguments are:
    -l #      (length of password, default = 9)
    -d #      (min # of digits, default = 2)
    -c #      (min # of lowercase chars, default = 2)
    -C #      (min # of uppercase chars, default = 2)
    -s #      (min # of special chars, default = 1)
    -v        (verbose, show passwd interaction)
    -p prog   (program to set password, default = passwd)

命令参数:
-l # (密码的长度定义, 默认是 9)
-d # (数字个数, 默认是 2)
-c # (小写字符个数, 默认是 2)
-C # (大写字符个数, 默认是 2)
-s # (特殊字符个数, 默认是 1)
-v (详细。。。)
-p prog (程序设置密码, 默认是 passwd)

3、开始设置root用户的密码,使用新密码登录测试下。
密码长度20,数字5个,小写5个,大写5个,特殊5个
 

复制代码 代码示例:
#  mkpasswd  -l 20 -d 5 -c 5 -C 5 -s 5 root
Z}K7hp0UPJ6v@&,c5{d3

linux密码生成器mkpasswd用法示例
 
linux系统有一个自带的生成密码的命令mkpasswd,这个命令异常强悍,可以生成随机密码。

mkpasswd命令的使用
 

复制代码 代码示例:
[root@jbxue game-dir]# mkpasswd
JI>s64tyv
 
[root@jbxue game-dir]# mkpasswd -l 12
e/Hwyw8Kied6
 
[root@jbxue game-dir]# mkpasswd -l 12 -d 3
zas4Ery+5K8l
 
[root@jbxue game-dir]# mkpasswd -l 12 -c 4
ff9bT7b}npmM
 
[root@jbxue game-dir]# mkpasswd -l 12 -C 4
x3TwqtSKh}2T
 
[root@jbxue game-dir]# mkpasswd -l 12 -s 4
px}[aO8cF':8
 
[root@jbxue game-dir]# mkpasswd -l 18 -s 4 -c 4 -C 4
;.8zW3dGiwmb@dyWO&
 


mkpasswd命令的常用参数含义
usage: mkpasswd [args] [user]
 where arguments are:
-l #      (length of password, default = 7)
                   指定密码的长度,默认是7位数
-d #      (min # of digits, default = 2)
                   指定密码中数字最少位数,默认是2位
-c #      (min # of lowercase chars, default = 2)
                   指定密码中小写字母最少位数,默认是2位
-C #      (min # of uppercase chars, default = 2)
                   指定密码中大写字母最少位数,默认是2位
-s #      (min # of special chars, default = 1)
                   指定密码中特殊字符最少位数,默认是1位
-v        (verbose, show passwd interaction)
                   这个参数在实验的时候报错,具体不知道。

最后,我们介绍下如何用mkpasswd命令生成随机复杂密码。

mkpasswd命令生成随机复杂密码,前提安装expect,然后执行mkpasswd命令即可生成随机的密码。

一、基本的命令安装
安装expect:
 

复制代码 代码示例:
[root@jbxue ~]# yum install expect
 

参数:
    -l #      (密码的长度定义, 默认是 9)
    -d #      (分位数, 默认是 16)
    -c #      (小写字符, 默认是 3)
    -C #      (大写字符, 默认是 2)
    -s #      (特殊字符, 默认是  1)
    -v        (详细。。。)
    -p prog   (程序设置密码, 默认是 passwd)

详细参数,用如下命令查看:
 

复制代码 代码示例:
[root@jbxue ~]# man mkpasswd  

例1:
创建了一个长度为16位,包括数字个数,包含小写字母个数,包含大写字母个数,包含特殊符号个数。
 

复制代码 代码示例:
[root@jbxue ~]# mkpasswd -l 16 -d 2 -c 3 -C 2 -s 5
生成密码:r9:p5Ucpwiv~Q^*%

例2:
生成一个32位的密码,至少包含5个数字和5个大写字母,这么强悍的密码,慢慢破解吧:)
 

复制代码 代码示例:
[root@jbxue ~]# mkpasswd -l 32 -d 5 -C 5

二、shell/ target=_blank class=infotextkey>shell脚本执行生成若干个随机复杂密码
编写shell脚本,批量生成100个密码 (此脚本来至于gaojinbo的博客)
vi password.sh
 

复制代码 代码示例:
#!/bin/bash
i=1
echo "########Power by f5ha.com ##########" >/tmp/password.txt
while [ $i -le 100 ];do
/usr/bin/mkpasswd -l 32 -d 5 -C 5 >>/tmp/password.txt
let i+=1
done
exit;

以上脚本将生成的密码放在/tmp/passwd.txt文件中。