需调整pam模块和/etc/login.defs文件:一、编辑/etc/pam.d/common-password,修改pam_pwquality.so的minlen值;二、编辑/etc/login.defs,设置pass_min_len参数;三、配合chage命令强化特权账户策略,且须确保pam策略已生效。

如果您在银河麒麟操作系统中需要增强账户安全性,防止用户设置过短的密码导致暴力破解风险上升,则需调整系统密码策略中的最小长度限制。以下是实现该目标的具体操作步骤:
一、通过PAM模块配置密码最小长度
银河麒麟V4/V10系统基于Linux PAM(Pluggable Authentication Modules)框架管理密码策略,核心配置文件为/etc/pam.d/common-password或/etc/pam.d/system-auth(服务器版常用后者),修改此处可强制所有新设或修改密码满足最小长度要求。
1、使用root权限打开PAM密码策略配置文件:
sudo nano /etc/pam.d/common-password
2、查找包含pam_pwquality.so或pam_cracklib.so的行(若无则新增);
对于V10桌面版,典型行示例为:password requisite pam_pwquality.so retry=3 minlen=8 difok=3
3、将minlen=8修改为所需值,例如设置最小长度为10:minlen=10
4、保存文件并退出编辑器。
5、验证配置是否生效:
执行passwd命令尝试修改当前用户密码,输入少于设定长度的密码时应提示密码太短,不满足最小长度要求。
二、通过/etc/login.defs全局参数辅助控制
/etc/login.defs文件定义了用户创建时的默认密码策略参数,虽不直接强制运行时密码校验,但与PAM协同作用,确保新建用户初始策略一致,并影响chage等工具行为。
1、以root身份编辑login.defs:
sudo nano /etc/login.defs
2、定位到PASS_MIN_LEN参数行;
若该行被注释(以#开头)或不存在,则取消注释或新增一行:
3、设置最小密码长度为10:PASS_MIN_LEN 10
4、保存并退出。
5、注意:此参数仅对使用useradd命令新建的用户生效,且依赖PAM中pam_pwquality.so已启用;若未启用,该设置不会触发实时密码强度检查。
三、使用chage命令为指定用户单独设定最小长度约束
chage命令本身不支持直接设置密码最小长度,但可通过组合PAM策略与账户老化参数,间接强化特定高权限账户的密码合规性。该方法适用于审计要求严格的场景,如等保2.0三级中对特权账户的差异化管控。
1、确认目标用户名,例如admin;
2、执行以下命令锁定密码修改间隔,迫使用户必须使用符合PAM策略的新密码:
sudo chage -m 1 admin
3、同时设置密码最短有效期为1天,避免用户绕过策略快速重置:
sudo chage -M 90 admin
4、验证设置:
sudo chage -l admin
5、关键提示:此操作必须配合已生效的PAM minlen策略,否则无法阻止短密码设置。











