我在 AIX 文档中找到了一些设置密码长度的规则:
敏伦 定义密码的最小长度。该值为十进制整数字符串。默认值为 0,表示没有最小长度。允许的最大值是 PW_PASSLEN 属性。该属性由 minalpha 属性值添加到 minother 属性值来确定。如果这些值的总和大于 minlen 属性值,则将最小长度设置为结果。
笔记:PW_PASSLEN 属性在 中定义
/usr/include/userpw.h
。 PW_PASSLEN 属性的值由 中定义的系统范围密码算法确定/etc/security/login.cfg
。密码的最小长度由 minlen 属性确定,并且永远不应大于 PW_PASSLEN 属性。如果 minalpha 属性 + minother 属性大于 PW_PASSLEN 属性,则 minother 属性将减少为 PW_PASSLEN 属性 - minalpha 属性。
但是,为了保持一致性,我需要将密码的最大长度设置为 12。
我不明白如何配置 userpw.h 以将此最大值设置为 12。
这是我实际的 PW_PASSLEN :
#define PW_PASSLEN ((__extension_status & _EXTENSION_C2)? \
max_pw_passlen():__get_pwd_len_max())
答案1
我相信您需要将 /usr/include/userpw.h 中 MAXIMPL_PW_PASSLEN 的值从 256 修改为 12,但我强烈建议您阅读该文件中的文档,并在非关键机器上进行测试。如果您有权访问,我建议您通过 IBM 支持人员进行验证。
答案2
请参阅 /etc/security/user 文件:其中包含您需要更改的 minalpha/minother/etc 值:)
答案3
添加到第二个答案;除了/etc/security/user
手动编辑文件之外,您还可以发出以下命令:
chsec -f /etc/security/user -s default -a minlen=12
其中设置minlen
A的属性default
s坦扎在/etc/security/user
F到 12。
注意全部必须指定标志并且满的提供的文件的路径。
default
节在文件中以以下形式显示
default:
minlen=8
冒号是节开始的分隔符和指示符。
缩进是选修的。
查看属性:
lssec -f /etc/security/user -s default -a minlen
对多个属性重复-a
切换为-a minalpha -a minlen
。
命令语法和命名法是简单的如果你愿意感觉:)