kingbase passwordcheck插件简介及使用

插件passwordcheck简介

passwordcheck插件主要用于管理口令复杂度。

口令的复杂度检查是由数据库安全员对口令的最小长度,所包含的数字、英文字母、特殊符号的数目进行设置后,在数据库管理员创建和修改用户时,自动对口令进行相关方面的检查。如果口令不满足指定的条件,那么创建用户将不成功。

KingbaseES通过插件的方式来进行口令的复杂度管理。这种方式更为灵活,当数据库的实用场景需要进行口令的复杂度管理时,加载插件即可。而不需要该功能时,卸载插件即可。

KingbaseES中通过 4 个全局级参数配合插件来实现用户口令复杂度管理。

插件名为 passwordcheck

插件版本 V1.0

插件passwordcheck加载方式

在使用 passwordcheck 之前,我们需要将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,并重启 KingbaseES 数据库。

示例:

shared_preload_libraries = ‘passwordcheck’

插件passwordcheck的参数配置

passwordcheck.enable

口令复杂度开关,默认为关闭状态。

passwordcheck.password_length

口令的最小长度,取值范围为[8,63],缺省为 8。

passwordcheck.password_condition_letter

口令至少包含几个字母,取值范围为[2,61],缺省为 2。

passwordcheck.password_condition_digit

口令至少包含几个数字,取值范围为[2,61],缺省为 2。

passwordcheck.password_condition_punct

口令至少包含几个特殊字符,取值范围为[0,59],缺省为0。其中特殊符号为除空白符、英文字母、单引号和数字外的所有可见字符。

插件passwordcheck的使用方法

加载passwordcheck插件后,在数据库管理员创建和修改用户时,自动对口令进行相关方面的检查。如果口令不满足指定的条件,那么创建用户将不成功。当不需要该功能时,卸载插件即可。

示例:

-- 打开口令复杂度开关

\c test system
create extension passwordcheck;
CREATE EXTENSION

\c test sso
show passwordcheck.enable;
 passwordcheck.enable
----------------------
off
(1 行记录)

alter system set passwordcheck.enable=on;
ALTER SYSTEM

select sys_reload_conf();
 sys_reload_conf
-----------------
t
(1 行记录)

show passwordcheck.enable;
 passwordcheck.enable
----------------------
on
(1 行记录)

-- 修改口令最小长度为10

\c test sso
SHOW passwordcheck.password_length;
 passwordcheck.password_length
-------------------------------
 8
(1 row)

SET passwordcheck.password_length = 10;
SHOW passwordcheck.password_length;
 passwordcheck.password_length
-------------------------------
 10
(1 row)

\c test system
CREATE USER u_pwd PASSWORD '123ab';
ERROR:  password length 5 is too short, should be longer than min
password length 10.

CREATE USER u_pwd PASSWORD '1234567890ab';
CREATE ROLE

-- 修改口令最少包含3个字母

\c test sso
SHOW passwordcheck.password_condition_letter;
 passwordcheck.password_condition_letter
-----------------------------------------
 2
(1 row)

SET passwordcheck.password_condition_letter = 3;
SHOW passwordcheck.password_condition_letter;
 passwordcheck.password_condition_letter
-----------------------------------------
 3
(1 row)

\c test system
ALTER USER u_pwd PASSWORD '1234567890';
ERROR:  Password should contain at least 3 letter and the current
number is 0

ALTER USER u_pwd PASSWORD '1234567890ab';
ERROR:  Password should contain at least 3 letter and the current
number is 2

ALTER USER u_pwd PASSWORD '1234567890abC';
ALTER ROLE

-- 修改口令最少包含3个数字

\c test sso
SHOW passwordcheck.password_condition_digit;
 passwordcheck.password_condition_digit
----------------------------------------
 2
(1 row)

SET passwordcheck.password_condition_digit = 3;
SHOW passwordcheck.password_condition_digit;
 passwordcheck.password_condition_digit
----------------------------------------
 3
(1 row)

\c test system
ALTER USER u_pwd PASSWORD 'abcdefghij';
ERROR:  Password should contain at least 3 digit and the current
number is 0

ALTER USER u_pwd PASSWORD 'abcdefghij123';
ALTER ROLE

-- 修改口令最少包含3个特殊字符

\c test sso
SHOW passwordcheck.password_condition_punct;
 passwordcheck.password_condition_punct
----------------------------------------
 0
(1 row)

SET passwordcheck.password_condition_punct = 2;
SHOW passwordcheck.password_condition_punct;
 passwordcheck.password_condition_punct
----------------------------------------
 2
(1 row)

\c test system
ALTER USER u_pwd PASSWORD '1234567890abc.';
ERROR:  Password should contain at least 2 punct and the current
number is 1

ALTER USER u_pwd PASSWORD '1234567890abc./';
ALTER ROLE

插件passwordcheck卸载方法

修改 kingbase.conf 文件中shared_preload_libraries参数后重启数据库。

示例:

shared_preload_libraries = ‘’

插件passwordcheck升级方法

passwordcheck扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级插件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值