// 此模板仅供参考,如果不适用可以修改
问题描述
BIOS在做定制时创建了一个UserID为17临时用户,在完成BIOS定制后脚本会自动删除该用户。但是现在用户无法删除,返回值异常
该定制化脚本时华为那边直接写的,目前BMC这边分析没看出来问题。直接执行命令时可用删除用户的,但是定制化执行后,脚本调用同意的命令就失败了。工具端定制日志与BMC一键导出日志见附件,其中用户删除命令操作如下:
[root@localhost unicfg]# ipmicmd -k "f 00 06 45 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" smi 0 : 0f 07 00 45 00
0f 07 00 45 ff
del_BMC_USER_Fail_log.txt (6.6 KB)
DH-RS2297ted-G02_1_20260622-0759.tar.gz (5.3 MB)
答案内容由AI生成,仅供参考:
根据您的要求,从回答内容中提取的“结论”章节(包括标题和正文)如下:
结论
最可能的原因:临时用户被脚本创建后,由于某些定制化操作或未清理的在线会话,导致 OnlineDeletable 属性为 false,从而删除失败。这不是 BMC 功能缺陷,而是状态同步问题。
建议:
- 在脚本删除用户前,增加对
OnlineDeletable 和 IsOnline 属性的校验。
- 如果用户被判定为在线,可先通过
ipmicmd 或 Redfish 接口强制登出用户(如删除其所有会话)。
- 参考上下文中的解决方案:将日志级别从 debug 调整为 notice 以减少干扰,并检查是否有残留的 IPMI 或 KVM 会话。
若问题持续,请提供更详细的 BMC 日志(如 app.log 和 framwork.log),以便进一步定位是否存在其他组件异常(如 pci_e_device 或 account 启动失败)。
点击此处查看详细分析解答
问题分析
根据您提供的描述和日志,并结合上下文中的相关信息,该问题可能由以下原因导致:
1. 用户处于在线状态,导致 OnlineDeletable 属性为 false
2. 会话残留导致用户被误判为在线
- 上下文说明:在 topic 5463 中,提问者提到
iam 资源树下 session 路径没有该用户的会话,但用户仍被判定为在线。这可能是因为其他通道(如 IPMI 或带外管理)残留了会话状态。
- 您的日志中,删除命令通过
ipmicmd(即 IPMI 通道)执行,但用户可能之前通过其他方式(如 Redfish、SSH)登录过,且会话未被正确清理。IPMI 命令本身不会自动检查所有会话来源,但 iam 组件可能将用户标记为在线。
3. 定制化脚本与 BMC 状态未同步
- 上下文提示:您的脚本通过
ipmicmd 发送 OEM 命令删除用户,但 OnlineDeletable 属性由 iam 组件管理,其状态可能受定制化操作影响。例如,BIOS 定制过程中可能通过特定接口修改了该属性(如设置为 false),而脚本未重新检查状态。
- 解决方法:建议在删除前通过 Redfish 或 IPMI 查询
OnlineDeletable 和 IsOnline 属性,确保用户可删除。如果用户在线,先强制登出用户或等待会话超时。
4. 补充排查步骤(基于上下文已知方法)
- 检查
OnlineDeletable 属性:可通过 Redfish 或 D-Bus 接口查看:busctl --user get-property bmc.kepler.AccountService /bmc/kepler/AccountService/Accounts/<user17> bmc.kepler.AccountService.ManagerAccount OnlineDeletable
- 检查用户是否在线(
IsOnline 属性):busctl --user get-property bmc.kepler.AccountService /bmc/kepler/AccountService/Accounts/<user17> bmc.kepler.AccountService.ManagerAccount IsOnline
- 强制清理会话:如果用户在线但无明显会话,可尝试重启
iam 服务或执行 ipmcget -d dia 收集完整诊断日志进一步分析。
结论
最可能的原因:临时用户被脚本创建后,由于某些定制化操作或未清理的在线会话,导致 OnlineDeletable 属性为 false,从而删除失败。这不是 BMC 功能缺陷,而是状态同步问题。
建议:
- 在脚本删除用户前,增加对
OnlineDeletable 和 IsOnline 属性的校验。
- 如果用户被判定为在线,可先通过
ipmicmd 或 Redfish 接口强制登出用户(如删除其所有会话)。
- 参考上下文中的解决方案:将日志级别从 debug 调整为 notice 以减少干扰,并检查是否有残留的 IPMI 或 KVM 会话。
若问题持续,请提供更详细的 BMC 日志(如 app.log 和 framwork.log),以便进一步定位是否存在其他组件异常(如 pci_e_device 或 account 启动失败)。
cake
3
。。这日志写得很清楚阿
移动定制化开启后对在线用户有不可删除策略,你想删除的用户挂着一个redfish会话