【问题现象】

在正常环境中,通过 yasql 工具可免密登录数据库。但在删除某些用户组后,尝试连接时却出现如下报错:

用户密码错误
即免密登录失败。

image.png
【影响范围】

影响版本:YashanDB 所有版本

影响场景:手动删除或修改了系统用户组配置的机器

【根因分析】

问题原因是:YashanDB 安装时使用的默认用户组被删除,导致当前用户所属组不再匹配原免密配置。

查看当前用户组:

id xp
发现当前用户 xp 所属的主组并非 xp,也不是原始安装时配置的组,因此免密机制识别失败。

image.png
【解决方法】

方式一:重新创建原用户组并关联当前用户

`groupadd xp
usermod -g xp xp`
执行完后,使用 id xp 应能看到:

uid=xxx(xp) gid=xxx(xp) groups=xxx(xp)
表示当前用户主组已回归为 xp,与安装环境一致。

image.png
方式二:重新登录验证

退出当前 shell,重新登录 xp 用户,执行 yasql:

yasql sys
可恢复免密连接,数据库提示不再报错。

image.png
image.png
【规避建议】

image.png
【总结】

yasql 免密登录依赖用户所属组信息;

删除或更改主用户组将导致认证失败;

恢复方法为创建原组并将用户重新绑定;

建议日常避免修改数据库组件相关系统组配置。


数据库砖家
1 声望0 粉丝