统信UOS中需启用密码复杂度与有效期策略以防范弱口令风险,可通过安全中心图形界面、PAM模块配置、/etc/login.defs修改、pwquality.conf集中管理及失败锁定与历史限制五种方式实现。

如果您在统信UOS系统中需要强制用户使用高强度密码并定期更换,则可能是由于当前未启用密码复杂度与有效期策略,导致账户存在弱口令风险。以下是设置密码策略的多种方法:
一、通过【安全中心】图形化界面配置
该方式适用于桌面版UOS,无需命令行操作,适合管理员快速启用基础密码强度控制。系统提供预设等级,可一键启用低、中、高三级复杂度策略。
1、点击左下角【开始菜单】,在搜索框中输入“安全中心”并打开。
2、在左侧导航栏中依次选择【安全工具】→【登录安全】。
3、在【密码复杂度】区域,单击选中【高】选项(该选项要求密码长度≥12位,且必须包含大小写字母、数字及特殊符号)。
4、勾选【启用密码有效期】复选框,并将“密码最长使用天数”设为90,“密码修改最小间隔天数”设为6,“密码过期前提前警告天数”设为30。
5、点击右下角【应用】按钮,系统提示配置成功后重启终端生效。
二、通过PAM模块编辑common-password文件
该方式适用于服务器版或需精细化控制的场景,通过libpam-pwquality模块直接定义密码组成规则、重复限制、序列长度等参数,策略生效范围覆盖所有本地用户。
1、执行命令安装必要依赖:sudo apt-get install -y libpam-pwquality cracklib-runtime。
2、备份原始PAM配置文件:sudo cp /etc/pam.d/common-password /etc/pam.d/common-password.bak。
3、使用vim编辑器打开配置文件:sudo vim /etc/pam.d/common-password。
4、定位到第25行附近,将原有pam_pwquality.so行替换为以下内容(确保仅保留一行,无换行):password requisite pam_pwquality.so retry=3 enforce_for_root minlen=12 minclass=4 maxsequence=3 maxrepeat=3 difok=4 gecoscheck=1 reject_username。
5、保存退出后,执行sudo systemctl restart systemd-logind使新策略对后续登录生效。
三、通过修改/etc/login.defs设置全局密码有效期
该方式设定所有新建用户的默认密码生命周期参数,影响shadow文件中对应字段的初始值,是实现密码定期更换的基础配置。
1、执行命令备份原文件:sudo cp /etc/login.defs /etc/login.defs.bak。
2、编辑login.defs:sudo vim /etc/login.defs。
3、查找并修改以下三行(若不存在则新增,每行独立,前后空格严格):
PASS_MAX_DAYS 90
PASS_MIN_DAYS 6
PASS_WARN_AGE 30。
4、对已有用户立即应用该策略,执行:sudo chage -M 90 -m 6 -W 30 username(将username替换为实际用户名)。
四、通过/etc/security/pwquality.conf文件集中管理参数
该方式将密码策略参数从PAM配置中解耦,便于统一维护和批量部署,适用于集中域管环境或自动化运维流程。
1、确认配置文件存在:ls /etc/security/pwquality.conf;如不存在则创建:sudo touch /etc/security/pwquality.conf。
2、写入标准策略参数:echo -e "password_complexity = on\npassword_length = 12\npassword_min_lowercase = 1\npassword_min_uppercase = 1\npassword_min_digits = 1\npassword_min_punctuation = 1\nmaxrepeat = 3\nmaxsequence = 3" | sudo tee /etc/security/pwquality.conf。
3、确保PAM调用该配置,在/etc/pam.d/common-password中确认含有:password requisite pam_pwquality.so(无需额外参数,模块会自动读取pwquality.conf)。
五、启用失败锁定与密码历史复用限制
该方式补充基础复杂度策略,防止暴力破解与旧密码循环使用,提升策略整体有效性,尤其满足等保2.0三级要求。
1、启用登录失败锁定机制:执行sudo sed -i '1i auth [default=die] pam_tally2.so deny=5 unlock_time=600 even_deny_root' /etc/pam.d/login。
2、配置密码历史记录:在/etc/pam.d/common-password中添加一行:password required pam_pwhistory.so remember=5 use_authtok。
3、验证配置是否加载成功:pam-auth-update --package,然后选择“OK”确认启用。
4、测试新策略:切换至普通用户执行passwd,尝试设置含连续字符、少于12位或不含数字的密码,观察是否被拒绝。

















