暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

金仓数据库KingbaseES如何修改SAO用户密码

原创 数据猿 2024-11-18
761

金仓数据库KingbaseES产品在系统初始化过程中会创建三个用户:数据库管理员(system)、安
全管理员(sso)、审计管理员(sao),通常简称为管理员、安全员和审计员。此外,还可以创建普
通用户来访问和运行数据库应用。其中 sao 用户是专门用于审计管理的用户,用户配置审计策略需要
使用该用户。
   在initdb 完成后,SAO 用户的默认密码保存在参数 sysaudit.audit_table_password 和
sysaudit.local_sao_password 中,默认密码是 ‘12345678ab’ 。

1、开启审计功能

在配置文件种设置参数 shared_preload_libraries = ‘sysaudit’ ; sysaudit.enable
= on ;

2、修改sao用户密码

执行sql alter user sao with password ‘123abc’ ;
修改完,用户登录时会有错误信息(实际用户是登录成功的):could not connect to the
KinbaseES server: fe_sendauth: no password supplied
这是由于在集群环境里,SAO 需要区分主备节点后连接数据库,而连接数据库所用密码就是
sysaudit.audit_table_password 和 sysaudit.local_sao_password 所保存的密码。同时修改参数
sysaudit.audit_table_password 和 sysaudit.local_sao_password 后,数据库不再报错。

3、密码安全

如果明文将密码保存在数据库参数,必然会有安全问题。用户可以将这两个参数置为空:

  alter system set sysaudit.audit_table_password='';
  alter system set sysaudit.local_sao_password ='';

同时,修改 .encpwd 文件,用于免密登录:

  sys_encpwd -H 127.0.0.1 -P 54321 -D security -U sao -W 123abc
  sys_encpwd -H * -P 54321 -D * -U sao -W 123abc
  [kingbase@dbhost03 ~]$ ksql -d test -U sao -h 127.0.0.1
  Password for user sao:
  [kingbase@dbhost03 ~]$ ksql -d security -U sao -h 127.0.0.1
  ksql (V8.0) Type "help" for help.
  security=>

密码可以通过如下方式解密:

cat .encpwd 127.0.0.1:54321:security:sao:MTIzYWJj :54321::sao:MTIzYWJj echo 'MTIz
YWJj' | base64 -d 123abc
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论