首页 > 其他分享 >KingbaseESV8R6用户登录失败自动锁定后解锁遇到权限问题

KingbaseESV8R6用户登录失败自动锁定后解锁遇到权限问题

时间:2023-09-18 13:46:47浏览次数:41  
标签:KingbaseESV8R6 解锁 tee 用户 TEST user test 权限

测试用户登录失败自动锁定

创建用户tee并授权。

TEST=# create user tee;
CREATE ROLE
TEST=# alter user tee with createdb;
ALTER ROLE
TEST=#
TEST=# alter user tee with createrole;
ALTER ROLE
TEST=#
TEST=# alter role tee with replication;
ALTER ROLE
TEST=# alter user tee with password '1234';
ALTER ROLE
TEST=# \du
                                    List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+------------
 sao       | No inheritance                                             | {}
 sso       | No inheritance                                             | {}
 system    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 tee       | Create role, Create DB, Replication                        | {}

创建扩展,设置用户触及最大失败登录次数即锁定。

加载插件

修改 kingbase.conf 文件中shared_preload_libraries 参数。

shared_preload_libraries = 'sys_audlog'
create extension sys_audlog;

参数说明:

参数名 取值范围 默认值 描述
sys_audlog.max_error_user_connect_times [0,INT_MAX] 2147483647 用户登录失败次数的最大值界限
sys_audlog.error_user_connect_times [0,INT_MAX] 0 允许用户连续登录失败的最大次数
sys_audlog.error_user_connect_interval [0,INT_MAX] 0 用户被锁定时间
TEST=# \c - sso
You are now connected to database "TEST" as user "sso".
TEST=>
TEST=> ALTER SYSTEM SET sys_audlog.error_user_connect_times = 3;
ALTER SYSTEM
test=> CALL sys_reload_conf();
 sys_reload_conf
-----------------
 t
(1 row)

模拟tee用户登录失败超过最大次数。

[kingbase7@localhost data]$ ksql -UTEE -d test  -h 192.168.56.3  -W
Password:
ksql: error: could not connect to server: FATAL:  password authentication failed for user "tee"
NOTICE:  This is the 1 login failed. There are 2 left.
[kingbase7@localhost data]$ ksql -UTEE -d test  -h 192.168.56.3  -W
Password:
ksql: error: could not connect to server: FATAL:  password authentication failed for user "tee"
NOTICE:  This is the 2 login failed. There are 1 left.
[kingbase7@localhost data]$ ksql -UTEE -d test  -h 192.168.56.3  -W
Password:
ksql: error: could not connect to server: FATAL:  The user "tee" is locked.

登录失败次数达到3次后,用户tee被锁定,此时,即使密码正确也无法正常登录,需要解锁该用户。

解锁用户两种方法:

1.超过时间间隔参数自动解除用户封锁 sys_audlog.error_user_connect_interval (此方法略过)
2.用户可由具有 ALTER USER 权限的用户通过 SQL 语句进行手动解锁,解锁后用户登录的信息自动删除。

[kingbase7@localhost data]$ ksql -USSO -d test  -h 192.168.56.3 -c 'alter user tee with login;'
Password for user SSO:
ERROR:  must be superuser to alter replication users

报错原因是tee用户具有replication权限,所以sso用户不能为具有此权限的用户解锁。

根据官方文档描述,此命令执行用户需要sso安全用户执行。
如果用system用户执行会报以下错误:

[kingbase7@localhost data]$ ksql -USYSTEM -d test  -c 'alter user tee with login;'
ERROR:  permission denied, only sso can enable user

解决方法:

用system登录,取消replication权限,这是集群复制相关的权限,普通用户没有用处。

test=# alter user tee with noreplication;
ALTER ROLE
test=# \c - sso
You are now connected to database "test" as user "sso".
test=>
test=> alter user tee with login;
ALTER ROLE
test=>

此时可以正常解决,解锁后,tee用户可以正常登录。

[kingbase7@localhost data]$ ksql -UTEE -d test  -h 192.168.56.3  -W
Password:
ksql (V8.0)
Type "help" for help.

总结

虽然数据库提供了sso用户解锁因为异常登录被锁定的用户,但是遇到拥有特殊权限的用户就会解锁失败,这时需要把该权限回收后再次解锁。解锁失败的原因是由于三权分立特性,安全用户不能干预系统管理员的授权功能。

标签:KingbaseESV8R6,解锁,tee,用户,TEST,user,test,权限
From: https://www.cnblogs.com/kingbase/p/17711658.html

相关文章

  • KingbaseESV8R6识别IO使用率过高
    前言数据库正常运行离不开I/O的使用,在操作系统上,I/O又离不开存储的性能及使用方式,我们可以在存储层利用raid条带化技术使IOPS达到最佳性能。本篇文章有助于确认数据库I/O使用率过高的原因,以及解决方法。确定I/O使用率过高的原因1.需要数据库内置的sys_stat_statements扩展并......
  • KingbaseESV8R6延迟提交参数
    前言队列理论在我们生活中的应用随处可见,例如我们去食堂打饭需要排队,我们生活中随处可见排队的场景。在计算机领域中,性能诊断等地方使用队列理论的案例也很多。服务器硬件分为动态设备和静态设备。CPU和IO子系统属于动态设备,RAM属于静态设备,队列理论只对动态设备适用。Kingbase......
  • KingbaseESV8R6使用kbbench计算连接耗时
    前言本文讨论一下KingbaseESV8R6数据库中如何计算数据库连接耗时。有这样一个场景,不借助第三方工具,在数据库服务端计算1000个数据库连接的总耗时,并取得每个连接耗时的平均值。怎样实现呢?我们可以借助kbbench工具。这是Kingbase数据库自带的一款客户端工具。kbbench介绍kbbench......
  • KingbaseESV8R6中查看索引常用sql
    前言KingbaseES具有丰富的索引功能,对于运行一段时间的数据库,经常需要查看索引的使用大小,使用状态等。尤其重复索引的存在,有时会因为索引过多而造成维护成本加大和减慢数据库的运行速度。下面是经常使用的查看索引的sql。1.查看表上索引个数,是否唯一,表与索引大小。SELECTCO......
  • KingbaseESV8R6全局临时表不能进行reindex操作
    背景我们经常遇到两种情况下会重建索引,reindex1、索引崩溃,由于软件或硬件问题导致索引内数据失效而不可用。2、索引膨胀,当索引膨胀会占用过多磁盘空间,reindex可以解决此问题。对于临时表和全局临时表而言,临时表可以进行reindex操作,而全局临时表不能进行此操作,原因是全局临时表......
  • 最近遇到了几个oracle权限的几个小问题
     最近做项目的时候遇到了几个小问题,记录一下:1、在工具中可以直接drop掉用户,但是不能执行dropuser删用户。原来如果想要能显示执行语句删用户,必须付给用户dropuser权限才可以。2、很多表需要建立公共的同义词,其他用户访问此表时通过同义词才可以保证不出错,另外还要为这些用户赋......
  • Spring Security 基于表单的认证和角色权限控制
    SpringSecurity是基于Spring框架提供的一套Web应用安全的完整解决方案,核心功能主要是认证和授权。认证主要是判断用户的合法性,主要体现在登录操作,最常用的认证方式是【基于表单的认证】和【基于OAuth2的认证】。授权主要体现在权限控制,也就是控制用户是否能够访问网站的相关......
  • TienChin 渠道管理-权限分配
    添加权限如果您不想手动添加可以使用我如下的SQL,但是有一个注意点就是parent_id是渠道管理菜单的主键id即可一键插入。INSERTINTO`TienChin`.`sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`query`,......
  • 三、(6)权限管理
    1.用户管理1.登录和退出MySQL本地登录客户端命令:#mysql-uroot-pqf123远程登陆:客户端语法:mysql-u用户名-p密码-hip地址-P端口号:如果没有改端口号就不用-P指定端口#mysql-h192.168.246.253-P3306-uroot-pqf123如果报错进入server端服务器登陆mysql执......
  • 修改pip配置文件pip.ini显示权限不足,无法写入时该如何解决
    如题,尝试修改pip配置pip3configsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple时出现如下报错: WritingtoC:\ProgramFiles\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\pip.iniERROR:Unabletosaveconfigura......