有没有什么办法可以获取特定用户的密码信息,比如最小长度和最小字母值等等?
在 AIX 中我们有一个名为的命令lsuser
:
lsuser -a minlen username
该命令将返回用户密码的最小长度。Linux 中是否有等效命令?
我需要这个来查找密码较弱的用户,因为即使我应用了 pam 的限制,用户仍然可以以 root 用户身份更改他想要的任何密码。
我不需要对 root 应用限制。
答案1
据我所知(20 多年),在任何 Linux 版本中都没有办法做到这一点。更重要的是,从安全角度来看,这听起来是个坏主意。
不应保留有关密码的任何元信息,因为如果落入不当之手,破解问题将变得非常容易。
想想看,你是一个破解者,已经获得了 Linux 系统的访问权限,或者已经检索了文件/etc/shadow
,现在你正试图使用彩虹表来访问此文件中的几个帐户。
当然,这将是有用的信息,告诉我的算法跳过表中任何不符合最小长度的条目或者就我们尝试识别的散列密码而言,不包含最少数量的字母字符。
顺便说一句,我工作过的财富 500 强公司所采用的大多数方法都包括使用破解工具,例如开膛手约翰或者类似的东西,试图在审计活动中侵入账户。
答案2
我认为没有一个命令可以像在 AIX 上那样将所有东西整合在一起。
http://www.itworld.com/endpoint-security/275056/how-enforce-password-complexity-linux
如何在 Linux 上强制密码复杂性,
请参阅 /etc/login.defs
我的机器(Fedora 版本 19)有
# PASS_MIN_LEN Minimum acceptable password length.
PASS_MIN_LEN 5