关于用户锁定的问题分析
更新时间: 2026/06/02
在Gitcode上查看源码问题背景
- 单板类型:自研板;
- 软件版本:openUBMC 2512;
- 涉及功能:用户锁定;
- 触发条件:用户连续多次输错密码触发登录锁定,通过SetAccountLockState方法可以修改Locked属性,当属性为true时触发锁定;
- 业务表现:预期可区分锁定原因,实际无法区分锁定原因,统一显示锁定原因为“用户名或密码错误,如您的账户已被锁定,请5分钟后再试。”。
问题复现步骤
- 使用正确用户名,连续5次输入错误密码触发锁定;
- 输入正确密码尝试登录,查看前端提示与接口返回信息;
- 通过busctl查看用户Locked属性值锁定账户;
关键日志信息
查看日志,确认报错如下:
定位过程
两种方式锁定账户后,查看app.log日志文件,发现锁定后登记日志相同,无法区分,咨询设计锁定人员,确认锁定后报错无法区分的背景。
问题原因
涉及具体代码仓名称:account;Locked属性是用于管理员主动锁定账号使用的,对应的北向接口有以下两个接口:
shell
ipmcset -t user -d unlock -v <username>text
/redfish/v1/AccountService/Accounts/:accountid设计中就不能区分开具体的锁定原因。该设计方案是考虑安全性要求和防止密码暴力破解,因错误认证信息而登录失败的,返回模糊的错误提示信息。锁定结束后,用另一个管理员账号登录,查看安全日志。
解决方案
系统设计方案为此,不需要修改。