关于用户锁定的问题分析
更新时间: 2026/06/02
在Gitcode上查看源码

问题背景

  • 单板类型:自研板;
  • 软件版本:openUBMC 2512;
  • 涉及功能:用户锁定;
  • 触发条件:用户连续多次输错密码触发登录锁定,通过SetAccountLockState方法可以修改Locked属性,当属性为true时触发锁定;
  • 业务表现:预期可区分锁定原因,实际无法区分锁定原因,统一显示锁定原因为“用户名或密码错误,如您的账户已被锁定,请5分钟后再试。”。

问题复现步骤

  1. 使用正确用户名,连续5次输入错误密码触发锁定;
  2. 输入正确密码尝试登录,查看前端提示与接口返回信息;
  3. 通过busctl查看用户Locked属性值锁定账户;

关键日志信息

查看日志,确认报错如下:

定位过程

两种方式锁定账户后,查看app.log日志文件,发现锁定后登记日志相同,无法区分,咨询设计锁定人员,确认锁定后报错无法区分的背景。

问题原因

涉及具体代码仓名称:account;Locked属性是用于管理员主动锁定账号使用的,对应的北向接口有以下两个接口:

shell
  ipmcset -t user -d unlock -v <username>
text
  /redfish/v1/AccountService/Accounts/:accountid

设计中就不能区分开具体的锁定原因。该设计方案是考虑安全性要求和防止密码暴力破解,因错误认证信息而登录失败的,返回模糊的错误提示信息。锁定结束后,用另一个管理员账号登录,查看安全日志。

解决方案

系统设计方案为此,不需要修改。