在CentOS 7中,若要设置密码最小长度,需同时配置/etc/login.defs中的PASS_MIN_LEN参数以及/etc/pam.d/system-auth中的pam_pwquality.so模块的minlen参数。需要注意的是,前者仅对useradd创建的新用户初始密码起作用,而后者才是真正对所有passwd操作进行校验的关键,两者缺一不可。

CentOS 7怎么设置密码最小长度

CentOS 7 设置密码最小长度,不能只改一个地方 —— PASS_MIN_LEN/etc/login.defs 里只影响新建用户;真正拦住密码设置的,是 PAM 模块里的 pam_pwquality.so 配置。漏掉任意一处,都可能让弱密码通过。

修改 /etc/login.defs 中的 PASS_MIN_LEN

这个值仅在用 useradd 创建新用户时生效,对已有用户或 passwd 修改密码无约束力。

配置 pam_pwquality.so 强制执行最小长度

这是真正起效的核心环节。CentOS 7 默认使用 pam_pwquality.so(不是旧版 pam_cracklib.so),必须在 /etc/pam.d/system-auth 中正确配置。

验证是否生效的几个关键点

光改配置不验证,等于没改。常见“以为生效了但其实没拦住”的情况,往往出在这里:

最容易被忽略的是:/etc/login.defs 的 PASS_MIN_LEN 和 PAM 的 minlen 是两套机制,前者只管新建用户初始密码生成逻辑,后者才真正校验每次 passwd 输入。生产环境务必两者都设,且以 PAM 配置为准。

本文转载于:https://www.php.cn/faq/3029607.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。