Linux常用命令-pwmake

命令

pwmake

描述

simple tool for generating random relatively easily pronounceable passwords
随机生成密码

用法

1
pwmake <entropy-bits>

选项

注意

该命令通过读取/dev/urandom生成随机字符串
更改配置文件/etc/security/pwquality.conf可能会影响该命令的执行结果
可以使用pwscore命令给生成的密码打分

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 命令需要一个随机参数
$ pwmake a
-ek%uBug0ciN
$ pwmake "$(date)"
aleG(4L8yMuH

$ cat /etc/security/pwquality.conf
difok=1
#minclass=2
minlen=10
ucredit=-2
lcredit=-2
dcredit=-1
ocredit=-1
# 修改了pwquality配置文件,导致执行命令时偶尔会报错
$ pwmake a
Error: Password generation failed - required entropy too low for settings

# 可以使用pwscore命令给生成的密码打分
$ pwmake a
n0lAhk4Ljap+
$ echo 'n0lAhk4Ljap+'|pwscore
81
$ pwmake a
pED1ES8ut@P%
$ echo 'pED1ES8ut@P%'|pwscore
75
# 最高分100
$ echo 'UvOpn0vUz4lIsElUcx3pL3b%U'|pwscore
100

$ pwmake 1
YL)YnicDYxiR
$ pwmake 64
qESegUguHRyx4c
$ pwmake 128
D3BBYvENOK4t4L(eg4mOw;uDOweP
# 256以上的密码长度是一样的
$ pwmake 256
UNqIlXOGOsakG3R[ErZ3nS@bJ0hAvZuKWOtvaH0JyfIbYwZ4d[upOB
$ pwmake 512
K4PwAKAwObBYzeGHAkHEpposEk.UMgoLevUmAj0c&ekaH4lK3R0P5E
$ pwmake 1024
D0HIJKEPoKOdUMyvl4cn@qAc1Av)ynMoGIMx0m64G4Nox@bVuK$umX
$ pwmake 2048
KUkTISDOd@N+YphAkevselEL=@jiD[IgyrIqYMYl%YbON@tAM0pZaG
# 最高分100
$ pwmake 256 |pwscore
100
$ pwmake 512 |pwscore
100

# 执行如下脚本生成一个强密码
$ cat a.sh
score=80
until [[ $score -ge 90 ]];do
password=$(pwmake xxx)
score=$(echo "$password"|pwscore)
done
echo "$password"
$ bash a.sh
^as0BehAr3p4H
$ bash a.sh
yPAdXeNEK0n@m

# 其他生成密码的方式
alias genpasswd='cat /dev/urandom | tr -dc "0-9a-zA-Z" | head -c 10;echo'
alias genpasswd15='cat /dev/urandom | tr -dc "0-9a-zA-Z!@#$%^&*" | head -c 15;echo'
alias genpasswd20='cat /dev/urandom | tr -dc "0-9a-zA-Z!@#$%^&*" | head -c 20;echo'
$ genpasswd
dFwdlwF2i1
$ genpasswd15
aQ2YTP1!TWzC*5p
$ genpasswd20
ECHbV!pR5@F8pG6ZxeZZ