问题描述
装备定制需要使用BMCSet_UserPasswdComplexityCheckEnable接口定制密码复杂度检查为off,实际操作后不生效。
环境信息
- 软件版本:iBMC5.05.12.07
尝试过的解决方案
尝试过同时设置BMCSet_UserPasswdComplexityForeverEnable为off,同样不生效
装备定制需要使用BMCSet_UserPasswdComplexityCheckEnable接口定制密码复杂度检查为off,实际操作后不生效。
尝试过同时设置BMCSet_UserPasswdComplexityForeverEnable为off,同样不生效
答案内容由AI生成,仅供参考:
您的问题最可能的原因是 BMCSet_UserPasswdComplexityForeverEnable 被强制启用(或默认为on),导致无法通过 BMCSet_UserPasswdComplexityCheckEnable=off 禁用密码复杂度检查。
BMCSet_UserPasswdComplexityForeverEnable = offBMCSet_UserPasswdComplexityCheckEnable = offPasswordComplexityCheckEnabled 是否为 false若以上操作仍无效,建议联系厂商技术支持确认该版本是否允许关闭密码复杂度检查,或是否存在固件级别的安全策略锁定。
根据您的描述,您在进行装备定制过程中,尝试通过 BMCSet_UserPasswdComplexityCheckEnable 接口将密码复杂度检查设置为 off,但配置未生效,界面仍显示“密码检查:开”。以下是对该问题的详细分析和解决方案建议。
BMC系统中密码复杂度检查由两个关键参数共同控制:
BMCSet_UserPasswdComplexityCheckEnable:控制是否启用密码复杂度检查。BMCSet_UserPasswdComplexityForeverEnable:控制是否允许禁用密码复杂度检查。根据知识库中的逻辑关系:
if (BMCSet_UserPasswdComplexityForeverEnable == on)
密码复杂度检查使能状态设置成强制启用,无法禁用
else if (BMCSet_UserPasswdComplexityCheckEnable == off)
禁用本地用户密码复杂度检查(密码复杂度检查使能状态设置成可修改)
else
使能本地用户密码复杂度检查
这意味着即使设置了 BMCSet_UserPasswdComplexityCheckEnable=off,如果 BMCSet_UserPasswdComplexityForeverEnable 被设置为 on,那么密码复杂度检查仍会被强制启用。
某些BMC版本(如iBMC)存在安全加固策略,默认开启关键安全功能。即使通过接口配置,系统启动时或安全模块加载后可能会依据预定义策略重新启用密码复杂度检查。
存在以下可能性:
AccountService)重新加载。BMCSet_UserPasswdComplexityForeverEnable 状态确保该参数未被设置为 on。应显式设置为 off 或不配置(默认行为为可禁用):
BMCSet_UserPasswdComplexityForeverEnable = off
如果该参数被固件强制设为
on,则密码复杂度检查将无法关闭。
BMCSet_UserPasswdComplexityCheckEnable 设置结果使用对应的获取接口(如 GetUserPassComplexity 或通过Redfish API)查询当前实际状态:
{
"Oem": {
"openBMC": {
"PasswordComplexityCheckEnabled": true
}
}
}
若返回 true,说明配置未成功生效。
部分系统中存在“安全增强”模式或“合规模式”,会强制开启密码复杂度、登录失败锁定等功能。请检查:
Custom_SecurityHardeningMode 等全局安全策略开关。从知识库中可知:
openUBMC不支持设置空密码。
这表明系统底层对密码策略有硬性限制,即使关闭复杂度检查,也可能保留基本要求(如最小长度8位),因此“关闭”不等于“无限制”。
某些配置需要重启BMC或重启 AccountService 才能生效。尝试执行:
reboot
或通过命令行重启账户管理服务。
有时Web界面显示的是缓存值。建议:
GET https://<BMC_IP>/redfish/v1/AccountService
查看 MinPasswordLength 和 Oem.openBMC.PasswordComplexityCheckEnabled 字段。iBMC 5.05.12.07 可能与 openUBMC 在实现上存在差异,建议查阅对应版本的官方文档确认参数支持情况。您的问题最可能的原因是 BMCSet_UserPasswdComplexityForeverEnable 被强制启用(或默认为on),导致无法通过 BMCSet_UserPasswdComplexityCheckEnable=off 禁用密码复杂度检查。
BMCSet_UserPasswdComplexityForeverEnable = offBMCSet_UserPasswdComplexityCheckEnable = offPasswordComplexityCheckEnabled 是否为 false若以上操作仍无效,建议联系厂商技术支持确认该版本是否允许关闭密码复杂度检查,或是否存在固件级别的安全策略锁定。
@baode_zsy 当前不支持这个定制项。
参见account组件issue。
你可以查看account的组件相关源码实现。