忘记密码,特别是管理员账号的密码,对任何用户来说都是非常严重的安全事故,如下从几个能想到的方向,尝试恢复或设置GBase 8a的用户密码。
目录导航
查找应用配置的密码
连接数据库都要配置密码,可以从应用程序,各类客户端,脚本等,解析出原始密码。
该密码的安全保密工作,由应用负责。如
重置新密码
如果有其它管理员账户还记得密码,可以为其它用户重新设置新密码。
覆盖密码
数据库的密码是保存在文件里的,如果所有管理员用户密码都忘记了,且没有其它应用使用数据库,可以考虑从一套相同版本的可正常登录的数据库,将密码所在数据文件覆盖过来。用户和密码所在数据文件保存在:
安装目录/gcluster/userdata/gcluster/gbase/user.*
安装目录/gnode/userdata/gbase/gbase/user.*
将集群所有节点服务停掉,然后将一套正常登录的集群数据文件,覆盖到这里,然后重启即可。
该操作用户必须能登录数据库服务器,并有权限读写数据库文件,本身已经拥有了接近最高的安全权限要求了。如果数据安全性高的业务,数据要求保密,建议数据加密存储,被加密的数据,必须手工运行带密码的解密SQL才能读取,该解密密码数据库内不保存。请参考 GBase 8a透明存储加密encrypt功能使用
关于数据安全
如上方案,除了方案1从各种连接应用配置里,可以获得密码明文外,其它方案均无法获得密码原始明文。
在GBase 8a内部,密码也是通过sha256单向加密后存储的,不保存明文。
重要数据,建议加密存储,这样及时被拿走了数据文件,也无法读取内部的数据。