密码配置说明
加载插件
修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。
shared_preload_libraries = 'passwordcheck' #加载密码认证插
passwordcheck.enable=on #开启密码复杂度验证
密码复杂度
passwordcheck.password_length
passwordcheck.password_length =8
passwordcheck.password_condition_letter
passwordcheck.password_condition_letter=2
passwordcheck.password_condition_digit
passwordcheck.password_condition_digit = 2
passwordcheck.password_condition_punct
passwordcheck.password_condition_punct = 1
口令有效期设置
password_change_interval
R3版本配置方式
- 登录数据库
/home/kingbase/ES/V8/Server/bin/ksql -Usystem TEST
- 设置默认有效期
SET password_change_interval to 365;#设置创建新用户,或修改密码后365天过期,
- 查看有效期
SHOW password_change_interval;
- 创建新用户并设置到期时间
CREATE USER USER1 PASSWORD '1234567890abC/.' PASSWORD EXPIRE '2019-06-28';
- 查看用户到期时间
SELECT USENAME, PWDEXPIRETIME FROM SYS_USER WHERE USENAME ='USER1';
R6版本配置方式
identity_pwdexp.password_change_interval
identity_pwdexp.max_password_change_interval
修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。
shared_preload_libraries = 'identity_pwdexp'
登录数据库后,切换system账户到test数据库中建立插件关联
\c test system#切换system用户到test库下
create extension identity_pwdexp;#建立identity_pwdexp插件关联
切换到安全员模式下查看默认密码有效期
\c test sso#切换安全员
show identity_pwdexp.password_change_interval;#查看密码有效期
切换到安全员模式下修改密码默认有效期并重新加载配置
\c test sso#切换安全员
alter system set identity_pwdexp.password_change_interval = 5;#设置密码有效期为5天
select sys_reload_conf();#重新加载配置
\c test system#切换system用户到test库下
CREATE USER USER1 PASSWORD '1234567890abC/.' VALID UNTIL '2022-05-01';
#创建一个有效期到2022-05-01的用户USER1 密码为1234567890abC/.
查看USER1的用户有效期
SELECT USENAME, VALUNTIL FROM SYS_USER WHERE USENAME ='USER1';
帐户异常登录锁定
R3版本配置方式
error_user_connect_times
设置密码连续最大失败次数为 6。
ALTER SYSTEM SET error_user_connect_times = 6;
CALL sys_reload_conf();
R5版本配置方式
修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。
shared_preload_libraries = 'sys_audlog'
登录数据库后,切换system账户到test数据库中建立插件关联
\c test system#切换system用户到test库下
create extension sys_audlog;
sys_audlog.error_user_connect_times
设置密码连续最大失败次数为 10。
\c test sso
ALTER SYSTEM SET sys_audlog.max_error_user_connect_times = 10;
CALL sys_reload_conf();
sys_audlog.max_error_user_connect_times
设置密码连续最大失败次数为 6。
\c test sso
ALTER SYSTEM SET sys_audlog.error_user_connect_times = 6;
CALL sys_reload_conf();
sys_audlog.error_user_connect_interval
帐户异常登录解除锁定
R3版本
通过超级用户 SUPERMANAGER_V8ADMIN 登录数据库(SUPERMANAGER_V8ADMIN 无法修改)
/home/kingbase/ES/V8/Server/bin/ksql -U SUPERMANAGER_V8ADMIN TEST -W KINGBASEADMIN
执行enable user user;解除用户锁定
enable user system; #解锁system用户
R6版本
通过安全员(SSO)登录数据库,默认密码为12345678ab
/home/kingbase/ES/V8/Server/bin/ksql -U SSO TEST
或进入数据库后切换安全员账户
\c test sso
执行alter user user with login;进行解锁用户
alter user system with login;