要检查密码的强度, 单纯以密码长度及是否包含英文字母, 数字并不足够, 例如 “abcd1234” 便是 8 个位, 包含字母及数字的密码, 但这个密码很简单。cracklib 就是一套检查密码强度的工具, 以下是 cracklib 的安装及使用方法。
在 Redhat 及 Debian 系列的发行版, 安装 cracklib 都很方便:
RHEL / CentOS / Fedora:
[root@localhost ~]# yum install cracklib
Debian / Ubuntu / Mint:
[root@localhost ~]# apt-get install libcrack2
安装好 cracklib 后, 可以使用它来检查密码强度, 以上面 “abcd1234” 为例子:
|
1 |
[root@localhost ~]# echo "abcd1234" | cracklib-check |
会回传这样的结果:
abcd1234: it is too simplistic/systematic
即密码太简单。
轮入英文单字 “table”, 回传密码太短:
|
1 |
[root@localhost ~]# echo "table" | cracklib-check |
table: it is too short
试试用 “database” 作为密码:
|
1 |
[root@localhost ~]# echo "database" | cracklib-check |
database: it is based on a dictionary word
回传 database 是在字典出现的英文单字。
现在随手输入一组乱数密码:
|
1 |
[root@localhost ~]# echo "njfsdhvy2~2" | cracklib-check |
njfsdhvy2~2: OK
cracklib 认为是安全的密码, 会回传 “OK”.