扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
pam_cracklib被插入pam栈中(pam,即Pluggable Authentication Modules,可插入认证模块),这样一旦一个用户执行passwd程序,pam_cracklib就会启动,并针对用户所设定的口令强制执行预定的口令规则。比如,如果该口令是一个常见的辞典用词,pam_cracklib会拒绝接受该口令,用户将不得不另外再想一个。
虽然pam_cracklib已经做得相当不错,但还有更好的工具可以选择。其中之一是pam_passwdqc,可以直接取代pam_cracklib在pam栈中的相应位置。pam_passwdqc比pam_cracklib更久经考验;它直接支持口令字,也支持向用户提供建议口令。
pam_passwdqc的配置核心是插入pam配置文件中的一行。一个传统的passwd入口是在/etc/pam.d/passwd(在某些新系统上,则是在/etc/pam.d/system-auth)。该文件可能看起来是这样:
password required pam_cracklib.so retry=3
password sufficient pam_unix.so nullok use_authtok md5 shadow use_first_pass
尽管不是所有的安装盘都提供了pam_passwdqc,部分分发版本比如Openwall GNU/*/Linux,Annvix,SUSE,以及Red Hat还是进行了提供。一旦pam_passwdqc从你的安装盘上安装完毕,或者是从网页上下载安装完毕(使用apt或者smart工具),你可以简单的将上述语句修改为下述这样,从而启用它:
password required pam_passwdqc.so min=disabled,12,8,6,5 max=40
passphrase=3 match=4 similar=deny random=42 enforce=everyone retry=3
password sufficient pam_unix.so nullok use_authtok md5 shadow use_first_pass
pam_passwdqc的主页提供了非常多的选项信息,不过上述这些规则其本质就是:不接受任何单种字符类的口令;对两种字符混合的密码,强制口令最小长度是12位;对口令字强制最小长度是8位;对3种字符混合的密码强制最小长度是6位;4种字符混合的密码强制最小长度是5位。所谓4种字符混合的密码就是由“数字”,“小写字母”,“大写字母”,以及“其它字符”组成(其它字符就是类似“!”、“_”这种)。另外,上述这些规则同时还强制任何口令长度不得超过40位。至于其它选择项,都已经清楚地列在pam_passwdqc的主页上了。
每个选择项可以被自定义,以适应你的环境。其实,上述设置的确没有推荐的默认设置那么严谨,默认设置“min=disabled,24,12,8,7”可以确保所建立的口令非常难以被破解。
pam_passwdqc的使用没什么特殊要求,所以哪怕你的分装版本中并没有提供它的安装包,你也可以使用它的源代码进行安装和编译,应该不会有任何问题。
(责任编辑:陈毅东)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者