金仓数据库KingbaseES 用户密码认证及加密算法

kingbaseES用户的口令被存储在sys_authid系统表中。
口令可以用SQL命令create user 和alter user 管理,例如 :create/alter user u1 with password '123456',或者ksql命令\password u1。
如果没有为一个用户设置口令,那么存储的口令为空并且对该用户的口令认证总会失败。

不同的身份验证方法的可用性取决于用户的密码在服务器上是如何加密的。加密方式由配置参数password_encryption控制。

如果密码使用scram-sha-256方式对密码进行了加密,那么它可以用于身份验证方法scram-sha-256,md5和password。
如果是使用md5方式加密的, 那么它只能用于md5和password认证方法规范,若使用scram-sha-256认证方式时会认证失败。

测试验证
登录数据库,分别在md5和scram-sha-256加密方式下创建u1,u2用户

test=# show password_encryption;
 password_encryption 
---------------------
 md5
(1 行记录)

test=# create user u1 with password '12345';
CREATE ROLE
test=# set password_encryption='scram-sha-256';
SET
test=# show password_encryption;
 password_encryption 
---------------------
 scram-sha-256
(1 行记录)

test=# create user u2 with password '12345';   
CREATE ROLE

test=#  select rolname,rolpassword from sys_authid where rolname in ('u1','u2');
 rolname |                                                              rolpassword                                                              
---------+---------------------------------------------------------------------------------------------------------------------------------------
 u1      | md508f63a23b291a334d2d9f1f462bbf4b7
 u2      | SCRAM-SHA-256$4096:virLaT2ZsLfxFz0YnCZCEA==$GGOsQRVIw8uFUC8r3c4R9Hv8Xc2kYRyuon+ZhOloIS0=:ONA9yDYJ831DqLFg+ZvNuGhMeUukFjthGx8huQWybV0=
(2 行记录)

测试在不同认证方式下用户登录的情况:1. md5 认证方式

[kbnew@singlekbdb data]$ grep -A 1 "IPv4 local connections" sys_hba.conf     
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

[kbnew@singlekbdb data]$ ksql -Uu1 -d test -p5566 -h 127.0.0.1      
用户 u1 的口令:
ksql (V8.0)
输入 "help" 来获取帮助信息.

test=> \q
[kbnew@singlekbdb data]$ ksql -Uu2 -d test -p5566 -h 127.0.0.1 
用户 u2 的口令:
ksql (V8.0)
输入 "help" 来获取帮助信息.

test=> 

2个用户都可以正常登录

2. scram-sha-256认证方式

[kbnew@singlekbdb data]$ vi sys_hba.conf                                 
[kbnew@singlekbdb data]$ sys_ctl reload  -D /home/kbnew/kdb/data    
server signaled
[kbnew@singlekbdb data]$ grep -A 1 "IPv4 local connections" sys_hba.conf  
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256

[kbnew@singlekbdb data]$ ksql -Uu1 -d test -p5566 -h 127.0.0.1            
用户 u1 的口令:
ksql: 错误: 无法连接到服务器:致命错误:  用户 "u1" Password 认证失败
[kbnew@singlekbdb data]$ ksql -Uu2 -d test -p5566 -h 127.0.0.1 
用户 u2 的口令:
ksql (V8.0)
输入 "help" 来获取帮助信息.

test=> 

u1 认证失败无法登录,u2 正常登录

更多信息,参见https://help.kingbase.com.cn/v8/index.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值