修改数据库data目录下kingbase.conf文件
vi /home/kingbase/ES/V8/data/kingbase.conf
在kingbase.conf文件中最下方添加一下代码:
shared_preload_libraries = 'passwordcheck' #加载密码认证插件 passwordcheck.enable=on #开启密码复杂度验证 passwordcheck.password_length =8 #密码最小长度 passwordcheck.password_condition_letter=2 #至少包含的字母数 passwordcheck.password_condition_digit = 2 #至少包含的数字数 passwordcheck.password_condition_punct = 1 #至少包含的特殊字符数
重启数据库
/home/kingbase/ES/V8/Server/bin/sys_ctl -D /home/kingbase/ES/V8/data restart
登陆数据库
/home/kingbase/ES/V8/Server/bin/ksql -Usystem TEST
建立扩展链接
create extension passwordcheck;
如图所示:
登陆数据库
/home/kingbase/ES/V8/Server/bin/ksql -Usystem TEST
查看数据库参数
show shared_preload_libraries; show passwordcheck.enable; show passwordcheck.password_length; show passwordcheck.password_condition_letter; show passwordcheck.password_condition_digit; show passwordcheck.password_condition_punct;
如图所示
下面我们来创建用户测试下我们的配置是否生效
create user passtest1 with password '123456'; create user passtest2 with password 'aa123456'; create user passtest3 with password 'aabbccdd'; create user passtest4 with password 'ab123456@';
得到如下结果,只有最后一个符合要求的创建成功
这表示我们的密码策略已经生效了
那我们之前的已经创建的用户登陆不了怎么办呢?就需要我们修改密码
alter user <用户名> with password '<新的密码>';
这样就成功了
修改数据库data目录下kingbase.conf文件
vi /home/kingbase/ES/V8/data/kingbase.conf
在kingbase.conf文件中最下方添加一下代码:
R3error_user_connect_times=3 #用户密码最多输错3次就被锁定,0表示无限制R6
shared_preload_libraries = 'passwordcheck,sys_audlog' #加载密码认证插件 sys_audlog.error_user_connect_times=3 #用户密码最多输错3次就被锁定,0表示无限制
重启数据库后生效
/home/kingbase/ES/V8/Server/bin/sys_ctl -D /home/kingbase/ES/V8/data restart
这样你输入3次错误就被锁定了
安全审计 打开安全审计功能用户解锁参考
【KingbaseES】金仓数据库V8R3用户解锁
修改数据库data目录下kingbase.conf文件
vi /home/kingbase/ES/V8/data/kingbase.conf
在kingbase.conf文件中找到shared_preload_libraries在后面加入sysaudit:
shared_preload_libraries = 'passwordcheck,sys_audlog,sysaudit' #加载密码认证插件 sysaudit.enable = on;
重启数据库
/home/kingbase/ES/V8/Server/bin/sys_ctl -D /home/kingbase/ES/V8/data restart
登陆数据库
/home/kingbase/ES/V8/Server/bin/ksql -Usystem TEST
打开审计功能[只实用于R3版本]
alter system set sysaudit.enable = on; select sys_reload_conf(); #重新加载配置验证审计功能
登录数据库
/home/kingbase/ES/V8/Server/bin/ksql -Usystem TEST
切换安全员SSO
#R6 c - sso; #R3 C - syssso;
切换审计员
#R6 c - sao; #R3 C - syssao;审计日志 创建审计策略
#R6
c - sao;#切换审计员
select sysaudit.set_audit_stmt('CREATE TABLE', null, null, null);
select sysaudit.set_audit_stmt('alter table', null, null, null);
select sysaudit.set_audit_object('table', null, null, null);
#R3
c - syssao;#切换审计员
call sysaudit.set_audit_stmt('CREATE TABLE', null, null, null);
call sysaudit.set_audit_stmt('alter table', null, null, null);
call sysaudit.set_audit_object('table', null, null, null);
q
查看审计日志
登陆数据库
/home/kingbase/ES/V8/Server/bin/ksql -Usystem TEST
#R6 c security sao; #R3 c security syssao; #查看记录 select * from sysaudit_record_sao;
结果如图



