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 正常登录

KingbaseES 用户密码认证及加密算法的更多相关文章

  1. squid+stunnel+用户密码认证的三种玩法

    没办法,应用越来越深入,就会越来越多要求. squid+stunnel+用户密码认证的场景至少以下三个,我会遇到. 1,标准玩法 在服务器上建一个SQUID,加密码认证,然后,其它人通过它上网.(不要 ...

  2. EMQ -- 用户密码认证

    emq 的用户密码认证 MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous) ...

  3. emqtt 试用(五)emq 的用户密码认证

    MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启 ...

  4. elasticsearch 6.2.4添加用户密码认证

    elasticsearch 6.3版本之前的添加认证需安装x-pack插件,6.3之后貌似去掉了这个. 1.安装x-pack 先切换到elastic用户下,在执行以下命令 $cd /data/elas ...

  5. Oracle用户密码认证方式

    oracle用户有两种认证方式: 操作系统认证(要求该用户属于本地DBA组,然后通过操作系统认证登录oracle,从而启动数据库) 密码文件认证 oracle使用哪种认证方式决定在于两个参数: 1.r ...

  6. emqtt emq 的用户密码认证

    MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启 ...

  7. scylladb docker-compose 用户密码认证配置

    scylladb 对于用户的认证配置还是比较简单的,以下是一个docker-compose 配置的说明 环境准备 docker-compose 文件 version: "3" se ...

  8. python装饰器实现用户密码认证(简单初形)

    import timecurrent_user={'user':None}def auth(engine = 'file'): def deco(func): #func=最初始的index和最初始的 ...

  9. 搭建Docker私有仓库&用户密码认证&web可视化界面

    1.拉取镜像 docker pull hyper/docker-registry-web docker pull registry 2.安装 yum install docker-compose 3. ...

  10. ansible不配ssh连接,用户密码登录

    ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass. 否则会报错: sshpass安装 sshpass下载地址:http://sourceforge.net/proje ...

随机推荐

  1. MySQL表锁定处理

    研发要在一个ol_poster_sign表加字段,表比较大有400多万条,用gh-ost加字段时,在切换过程中一直报错: 无法完成最后的切换: INFO Magic cut-over table cr ...

  2. SpringBoot+Shiro+LayUI权限管理系统项目-4.实现部门管理

    1.说明 只讲解关键部分,详细看源码,文章下方捐赠或QQ联系捐赠获取. 2.功能展示 3.业务模型 @Data @EqualsAndHashCode(callSuper = false) @Acces ...

  3. Rtmp 开发学习

    参考文章:视频传输协议详解(RTMP.RTSP.HLS) RTMP--Real Time Messaging Protocol(实时消息传输协议) RTMP 是由 Adobe 公司提出的,在互联网 T ...

  4. Java - 将TXT文本文件转换为PDF文件

    与TXT文本文件,PDF文件更加专业也更适合传输,常用于正式报告.简历.合同等场合.项目中如果有使用Java将TXT文本文件转为PDF文件的需求,可以查看本文中介绍的免费实现方法. 免费Java PD ...

  5. python模块Configparser读取 ini(cfg,txt)等配置文件

    一个ini文件的组成: 一个ini文件是由多个section组成,每个section中以key=vlaue形式存储数据: 示例 # 安装 pip install ConfigParser # 1.导包 ...

  6. AI 让观众成为 3D 版《老友记》的导演了?

    <老友记>上线 3D 版了? 允许用户旋转镜头,且从近景切换到全景观看故事? 今年出炉的 3D 方向 AI 项目 SitCom3D,能够自动补齐<老友记>原剧中的三维拍摄空间, ...

  7. ABP Suite创建新项目

    启动Abp Suite ********************************************************************** ** Visual Studio ...

  8. Jmeter json断言的使用

    1 添加方式:取样器右键->添加->断言->JSON断言 作用:使用JSON表达式提取实际数据与预期进行比较   2首先我们来了解下断言组件的各个功能: Asset JSON Pat ...

  9. Java 属性赋值的先后顺序

    1 package com.bytezero.circle; 2 /** 3 * 4 * @Description 5 * @author Bytezero·zhenglei! Email:42049 ...

  10. LosslessCut 视频 切割合并 - 软件推荐 - 非常好用

    LosslessCut 视频切割合并 - 软件推荐 - 非常好用 下载地址 https://n802.com/f/14902046-490311155-557856 参考文章 http://www.r ...