ipmi命令设置用户权限不生效的问题

情况描述:

openubmc版本:25.03

设置用户名:

ipmitool.exe -H -U -P -I lanplus user set name 5 test

设置用户密码:

ipmitool.exe -H -U -P -I lanplus user set password 5 1234567890

设置用户权限:

ipmitool.exe -H -U -P -I lanplus channel setaccess 1 5 ipmi=off link=off privilege=2

发现用户权限的privilege可以设置成功,但是ipmi和link设置没有生效。

设置权限时,在account组件的log中没有发现error打印:

希望能给出对该问题的定位指导。

是通过该方法新增用户之后使用该用户发送ipmi命令不通吗?设置了用户权限之后需要执行ipmitool user enable {user id} 来使能用户

不是 使用的用户一直是默认的管理员用户,而不是新增的这个用户

我在set_ipmi_user_access函数中加了打印,发现不管ipmitool channel setaccess 命令中的callin、ipmi、link设置的是on还是off,后台收到的值永远是0、1、1,这才导致callin、ipmi、link设置不生效。

ipmitool 命令加上-vvv 参数,可以看到发送的具体参数信息, 发送到bmc侧的值是`0 1 1`。

`channel setaccess`命令是ipmitool 工具封装的命令。

如果验证功能, 可以使用 raw 命令, 这个是直接发送到bmc侧的。

image

-vvv看发现channel setaccess命令下发的0x06 0x43命令的请求体确实固定为 0 1 1。

不使用channel setaccess,而直接使用0x06 0x43进行设置,可以设置成功:

image