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 正常登录
KingbaseES 用户密码认证及加密算法的更多相关文章
- squid+stunnel+用户密码认证的三种玩法
没办法,应用越来越深入,就会越来越多要求. squid+stunnel+用户密码认证的场景至少以下三个,我会遇到. 1,标准玩法 在服务器上建一个SQUID,加密码认证,然后,其它人通过它上网.(不要 ...
- EMQ -- 用户密码认证
emq 的用户密码认证 MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous) ...
- emqtt 试用(五)emq 的用户密码认证
MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启 ...
- elasticsearch 6.2.4添加用户密码认证
elasticsearch 6.3版本之前的添加认证需安装x-pack插件,6.3之后貌似去掉了这个. 1.安装x-pack 先切换到elastic用户下,在执行以下命令 $cd /data/elas ...
- Oracle用户密码认证方式
oracle用户有两种认证方式: 操作系统认证(要求该用户属于本地DBA组,然后通过操作系统认证登录oracle,从而启动数据库) 密码文件认证 oracle使用哪种认证方式决定在于两个参数: 1.r ...
- emqtt emq 的用户密码认证
MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启 ...
- scylladb docker-compose 用户密码认证配置
scylladb 对于用户的认证配置还是比较简单的,以下是一个docker-compose 配置的说明 环境准备 docker-compose 文件 version: "3" se ...
- python装饰器实现用户密码认证(简单初形)
import timecurrent_user={'user':None}def auth(engine = 'file'): def deco(func): #func=最初始的index和最初始的 ...
- 搭建Docker私有仓库&用户密码认证&web可视化界面
1.拉取镜像 docker pull hyper/docker-registry-web docker pull registry 2.安装 yum install docker-compose 3. ...
- ansible不配ssh连接,用户密码登录
ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass. 否则会报错: sshpass安装 sshpass下载地址:http://sourceforge.net/proje ...
随机推荐
- Python中矩阵运算(基于numpy包)
1 乘法 在数组中,a * a计算对应元素相乘(矩阵点乘):在矩阵中,A*A计算矩阵乘法 np.multiply()计算对应元素相乘(矩阵点乘) np.dot()计算矩阵乘法 import numpy ...
- SpringBoot+MyBatisPlus+Thymeleaf+AdminLTE增删改查实战
说明 AdminLTE是网络上比较流行的一款Bootstrap模板,包含丰富的样式.组件和插件,非常适用于后端开发人员做后台管理系统. 因为最近又做了个后台管理系统,这次就选的是AdminLTE做主题 ...
- OCP试题解析之052-- DROP PROFILE app_user
133.You created a profile APP_USER and assigned it to the users. After a month, you decide to drop t ...
- python第五章pta习题总结
四.编程部分 1.sorted函数: sorted(iterable, cmp=None, key=None, reverse=False) #iterable:可迭代的对象 #cmp:比较规则 #k ...
- CF1398C Good Subarrays(写给我们萌新团体)
Good Subarrays 传送门: Good Subarrays - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 暴力!!!!! 一如既往的暴力!!! 复杂度O(n^2) ...
- 学习go语言编程之网络编程
Socket编程 Golang语言标准库对Socket编程进行了抽象,无论使用什么协议建立什么形式的连接,都只需要调用net.Dial()即可. Dial()函数 Dial()函数的原型如下: fun ...
- Flink本地模式安装和使用
Flink官方主页:https://flink.apache.org/ . 安装部署 不同版本的Flink对JDK版本要求不尽相同,需要根据具体的Flink版本要求先安装好JDK环境. 通常,在Fli ...
- 【生成对抗网络学习 其二】GAN(keras实现)代码阅读笔记
想来想去还是记录一下吧,主要是怕以后时间长忘了 好记性不如烂笔头 代码来自eriklindernoren的开源GAN实现:https://github.com/eriklindernoren/Kera ...
- 【Azure 微服务】Service Fabric 部署时遇见了VMExtensionProvisioningError错误: Multiple VM extensions failed to be provisioned on the VM
问题描述 Deployment Azure Service Fabric 时,遇见了VMExtensionProvisioningError, 全文如下: Deployment Name: 385A ...
- SelectZenEmpty 下拉框 支持 最大长度 超出... vue 组件
<template> <Select v-model="innerValue" :disabled="disabled" :clearable ...