热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GBase8a集群数据库用户密码策略功能

GBase8a集群数据库用户密码策略功能,password_format_option参数设置,包括数字,字母,大小写,特殊符号等。默认配置gbas

GBase 8a集群数据库用户密码策略功能,password_format_option参数设置,包括数字,字母,大小写,特殊符号等。

默认配置

gbase> show variables like '%password%';
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| _gbase_check_password_format | OFF |
| gbase_caching_sha2_password | OFF |
| old_passwords | OFF |
| password_format_option | 0 |
| password_life_time | 0 |
| password_min_length | 0 |
| password_reuse_max | 0 |
| password_reuse_time | 0 |
| report_password | |
+------------------------------+-------+
9 rows in set (Elapsed: 00:00:00.10)

password_format_option

说明

密码的组合要求,默认值为 0,表示无复杂度要求。

组合中可包含数字(1)、小写字符(2)、大写字符(4)、其它字符(8)中的 1 种或多种。
1:表示必须包含数字。
2:表示必须包含小写字母。
4:表示必须包含大写字母。
8:表示必须包含其它字符。
16:表示不能和用户名相同。
要限定组合时配置为上述值的和,可以任 意组合。 例 如 : 限 定 包 含 所 有 种 类 字 符 为 (1+2+4+8=15)。 对非英文字符,按其对应的 ASII 码范围分类

注意:从9.5.2.44版本开始,该参数改变为0-4,表示从4种组合种最少选择几种。比如3,表示最少要从数字,大写字母,小写字母,特殊字符这4种组合中选择3种。

样例

[root@gbase86_1 zxq]# gccli -umasked -pmasked12
GBase client 8.6.2.38-R1.105911. Copyright (c) 2004-2018, GBase. All Rights Reserved.
gbase> set password=password('masked12');
ERROR 1802 (HY000): Invalid password format,length should >= 8 and contain 'number' 'small letter' 'captital letter' 'special character'.
gbase> set password=password('masked12#Z');
Query OK, 0 rows affected (Elapsed: 00:00:00.01)
gbase> ^CAborted
[root@gbase86_1 zxq]# gccli -umasked -pmasked12#Z
GBase client 8.6.2.38-R1.105911. Copyright (c) 2004-2018, GBase. All Rights Reserved.
gbase>

password_reuse_max

说明

限制用户使用指定间隔次数内的历史密码。

默认值为 0,表示不控制。正数值 N 表示允许的口令间隔,间隔次数大于 N 才允许设置。

样例

如下是password_reuse_max=3的一个测试报错信息。

[gbase@gbase_rh7_001 ~]$ gccli -uroot -p111111
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[gbase@gbase_rh7_001 ~]$ gccli -uroot -p222222
GBase client 9.5.2.36.125743. Copyright (c) 2004-2021, GBase. All Rights Reserved.
gbase> set password=password('111111');
ERROR 1758 (HY000): gcluster dal error: 10.0.2.101:Password is in history for user 'root'@'%'..
gbase>
gbase> set password=password('222222');
ERROR 1758 (HY000): gcluster dal error: 10.0.2.101:Password is in history for user 'root'@'%'..
gbase>
gbase>
gbase> set password=password('333333');
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
gbase> set password=password('111111');
ERROR 1758 (HY000): gcluster dal error: 10.0.2.101:Password is in history for user 'root'@'%'..
gbase> set password=password('222222');
ERROR 1758 (HY000): gcluster dal error: 10.0.2.101:Password is in history for user 'root'@'%'..
gbase>

password_reuse_time

说明

密码重复使用时最短间隔天数。超过了才能重复使用。默认0不限制。

样例

如下样例,设置了重用次数是3,重用间隔是1天,我们设置多个密码后(超过3个)尝试设置之前的密码,看结果依然报错。查看user_check元数据表,发现密码历史记录了我们设置的全部内容,也就是保存的内容在max(天数,重用次数)。

gbase> show variables like '%password_reuse_%';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| password_reuse_max | 3 |
| password_reuse_time | 1 |
+---------------------+-------+
2 rows in set (Elapsed: 00:00:00.00)
gbase> set password=password('1');
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
gbase> set password=password('2');
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
gbase> set password=password('3');
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
gbase> set password=password('4');
Query OK, 0 rows affected (Elapsed: 00:00:00.03)
gbase> set password=password('5');
Query OK, 0 rows affected (Elapsed: 00:00:00.04)
gbase> set password=password('1');
ERROR 1758 (HY000): gcluster dal error: 10.0.2.101:Password is in history for user 'root'@'%'..

password_life_time

说明

控制密码的有效期,达到有效期后用户密码自动过期。用户密码过期后,允许用户登录,在执行 SQL 时提示用户修改密码。此时允许用户修改自己的密码。必须修改密码后才允许执行其它 SQL。

默认值为 0,表示禁用密码过期。正数值 N表示密码过期天数,密码必须在 N 天后修改。

样例

密码过期后,唯一能运行的SQL就是修改密码 ,建议用集群自带的命令行客户端gccli。

其它工具包括JDBC接口,可能会在连接是发送一些额外的初始化环境参数,比如字符集,超时等,而这些设置也属于SQL,会报错导致连接失败。

gbase> alter user root password expire;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)
gbase> use vc01.testdb;
ERROR 1830 (HY000): You must reset your password using ALTER USER statement before executing this statement.
gbase> set password=password('111111');
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
gbase> use vc01.testdb;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

推荐阅读
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 使用REM和媒体查询实现响应式布局
    本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ... [详细]
  • 本文详细探讨了select和epoll两种I/O多路复用技术的内部实现原理,分析了它们在处理大量文件描述符时的性能差异,并通过具体示例代码展示了select的工作流程。 ... [详细]
  • 在使用 MySQL 6.0.x 及以上版本的 JDBC 驱动时,若未正确配置 `serverTimezone` 参数,可能会导致连接异常。本文探讨了这一问题的原因及解决方法。 ... [详细]
  • 面对众多的数据分析工具,如何选择最适合自己的那一个?对于初学者而言,了解并掌握几种核心工具是快速入门的关键。本文将从数据处理的不同阶段出发,推荐三种广泛使用的数据分析工具。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 处理Android EditText中数字输入与parseInt方法
    本文探讨了如何在Android应用中从EditText组件安全地获取并解析用户输入的数字,特别是用于设置端口号的情况。通过示例代码和异常处理策略,展示了有效的方法来避免因非法输入导致的应用崩溃。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
author-avatar
哀乐交加6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有