Mogdb / opengauss 用户密码错误,用户被锁
# 问题概述
xxx客户新上一套opengauss数据库,在测试中程序里用户的密码配置错误,导致用户被锁
# 解决方案
1、跟oracle 语法一样
alter user xxx account unlock;
2、 需要等一天后自动解锁
# 模拟问题
因没有opengauss的环境 ,测试环境选择Mogdb
1、准备测试环境,输入错误的密码。如下
```
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: Invalid username/password,login denied.
[omm@mogdb1 ~]$ gsql -d postgres -p 15400 -U dbmt
Password for user dbmt:
gsql: FATAL: The account has been locked.
```
发现该用户已经被lock了
2、 问题来了,哪些用户输入错误密码会被锁,输入几次会锁呢?
最后发现pg_user_status 记录用户密码错误的次数 ,发现到10次后就会被锁。
![image.png](https://oss-esprod-public.oss-cn-beijing.aliyuncs.com/image/base/935c2b78-f88d-44db-9523-9ae2b660aa64.png)
这个10次是根据 failed_login_attempts 参数。
![image.png](https://oss-esprod-public.oss-cn-beijing.aliyuncs.com/image/base/e9397942-1a6a-4374-a444-57af847b3a78.png)
当这个参数设置为0时 就不会受到限制。
![image.png](https://oss-esprod-public.oss-cn-beijing.aliyuncs.com/image/base/0b893060-68da-4253-9456-6c029eeddd89.png)
最新文章
- C#的匿名方法
- 除法 Division
- .gitignore
- Linux探秘之用户态与内核态
- ./fedora_install_oracle.sh bad interpreter
- android中正确导入第三方jar包
- objective-C常量与变量
- Java的垃圾回收概述
- vmware压缩磁盘空间的方法
- boost signal2 trackable
- js 获取某年的某天是第几周
- ecos的setting
- hashlib 简单加密
- CTF丨从零开始搭建WEB Docker靶场
- js缓存问题的解决
- 微信小程序(mpvue)—解决视频播放bug的一种方式
- robotframework 连接mysql数据库
- poj1182、hdu1829(并查集)
- 利用STM32CubeMX来生成USB_HID_Mouse工程【添加ADC】(2)【非dma和中断方式】
- [leetcode]Reverse Linked List II @ Python
热门文章
- virtualenv指定使用本地某个版本python
- CodeGym自学笔记08——交互对象
- 基于Spring AOP切面实现请求入参出参加解密
- P2016题解
- 02 python初识
- 利用Opencv+Python 实现二维码识别
- [Swift]Swift图片显示方式设置,控件UIImageView的contentMode属性设置
- jenkins构建触发器定时任务Build periodically和Poll SCM 后续研究
- 2023-03-01 Error: Invalid hook call.Hooks can only be called inside of the body of a function component.
- 统一单点登录&;跳转