【问题现象】
在正常环境中,通过 yasql 工具可免密登录数据库。但在删除某些用户组后,尝试连接时却出现如下报错:
用户密码错误
即免密登录失败。
【影响范围】
影响版本:YashanDB 所有版本
影响场景:手动删除或修改了系统用户组配置的机器
【根因分析】
问题原因是:YashanDB 安装时使用的默认用户组被删除,导致当前用户所属组不再匹配原免密配置。
查看当前用户组:
id xp
发现当前用户 xp 所属的主组并非 xp,也不是原始安装时配置的组,因此免密机制识别失败。
【解决方法】
方式一:重新创建原用户组并关联当前用户
`groupadd xp
usermod -g xp xp`
执行完后,使用 id xp 应能看到:
uid=xxx(xp) gid=xxx(xp) groups=xxx(xp)
表示当前用户主组已回归为 xp,与安装环境一致。
方式二:重新登录验证
退出当前 shell,重新登录 xp 用户,执行 yasql:
yasql sys
可恢复免密连接,数据库提示不再报错。
【规避建议】
【总结】
yasql 免密登录依赖用户所属组信息;
删除或更改主用户组将导致认证失败;
恢复方法为创建原组并将用户重新绑定;
建议日常避免修改数据库组件相关系统组配置。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。