当前位置: 首页 > news >正文

oracle 12c密码长度,复杂度查看与设置

密码长度和复杂度

Oracle 数据库通过 PASSWORD_VERIFY_FUNCTION 来控制密码复杂度。

1.1 查看当前的密码复杂度设置

SELECT * 

FROM dba_profiles

WHERE resource_name ='PASSWORD_VERIFY_FUNCTION'

LIMIT表示分配给该 PROFILE 的密码验证函数名称。如果为 NULL,表示未设置密码验证函数。

上面输出说明DEFAULT这个配置文件没有配置密码长度和复杂度验证,ORA_STIG_PROFILE配置了ORA12C_STIG_VERIFY_FUNCTION这个密码长度和复杂度验证函数。

ORA12C_STIG_VERIFY_FUNCTION 是 Oracle 数据库 12c 中提供的一种密码验证函数,用于实施符合安全技术实施指南(STIG)的密码策略。

ORA12C_STIG_VERIFY_FUNCTION要求长度至少15,至少一个大写字母,一个小写字母,一个特殊字符。

#验证

当创建用户的时候,没指定profile,则使用默认的default,此时可以创建弱口令账号:

create user baidd_test identified by 123456;

grant connect,resource to baidd_test;

当指定有密码验证函数的配置文件时,无法创建弱口令账号:

create user baidd_test2  identified by 123456 profile ORA_STIG_PROFILE;

#查看用户使用的是哪个配置文件

SQL>  select username,profile from dba_users

USERNAME   PROFILE
---------- ------------------------------
SYS        DEFAULT
SYSTEM     DEFAULT
……

1.2 设置密码复杂度

#将default配置文件绑定密码复杂度函数

语法:

ALTER PROFILE your_profile_name LIMIT PASSWORD_VERIFY_FUNCTION 密码复杂度函数;

这里是:

ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_STIG_VERIFY_FUNCTION;

这个修改只对新建的用户生效,不影响已建的弱口令账号的正常使用,但若修改老用户的密码,也需要满足密码复杂度:

二 密码有效期

密码有效期通过 PASSWORD_LIFE_TIME 参数控制,可以通过以下查询查看:

SELECT profile, resource_name, limit FROM dba_profiles WHERE resource_name = 'PASSWORD_LIFE_TIME';

LIMIT 列:显示密码的有效期(以天为单位)。UNLIMITED 表示密码永不过期。

最大尝试登录次数

SELECT profile, resource_name, limit FROM dba_profiles WHERE resource_name = 'FAILED_LOGIN_ATTEMPTS';

LIMIT 列:显示允许的最大失败登录次数。

新旧密码重复度

SELECT profile, resource_name, limit FROM dba_profiles WHERE resource_name IN ('PASSWORD_REUSE_MAX', 'PASSWORD_REUSE_TIME');

PASSWORD_REUSE_MAX:表示密码在多少次更改后可以被重复使用。

PASSWORD_REUSE_TIME:表示密码在多少天后可以被重复使用。

五 锁定次数,锁定时间

锁定次数:由 FAILED_LOGIN_ATTEMPTS 参数控制,表示用户连续失败登录多少次后会被锁定。

锁定时间:通过 PASSWORD_LOCK_TIME 参数控制。

select * FROM dba_profiles WHERE resource_name IN ('FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME');

相关文章:

  • android14 keycode 上报 0 解决办法
  • 微软模拟飞行2004快速操作手册
  • 快瞳犬种识别效果图示,120种狗品种精准覆盖
  • MATLAB的24脉波整流器Simulink仿真与故障诊断
  • SU-YOLO:基于脉冲神经网络的高效水下目标检测模型解析
  • Git入门篇
  • 02-阿里云与HTTP协议
  • c++进阶之----c++11(可变参数模板)
  • 学习计划:从MCP入门到项目构建的全面指南
  • Vue.js 中 v-show 的使用及其原理
  • C++ -异常之除以 0 问题(整数除以 0 编译时检测、整数除以 0 运行时检测、浮点数除以 0 编译时检测、浮点数除以 0 运行时检测)
  • 0.机器学习基础
  • SpringBoot整合MinIO快速入门:实现分布式文件存储与管理
  • QTSql全解析:从连接到查询的数据库集成指南
  • LCR 056. 两数之和 IV - 输入二叉搜索树
  • 工业4.0时代,RK3562工控机为何成为智慧工位首选?
  • PostgreSQL的内存管理机制
  • 《Operating System Concepts》阅读笔记:p587-p596
  • 弹簧质点系统(C++实现)
  • 平均标准差策略思路
  • 国家主席习近平会见斯洛伐克总理菲佐
  • “一嗨租车”陷“五年后扣费”疑云,用户:违章处理莫名消失
  • 数说母亲节|妈妈的妈妈带娃比例提升,托举效果如何?
  • 首批证券公司科创债来了!拟发行规模超160亿元
  • 水利部:山西、陕西等地旱情将持续
  • 青岛双星名人集团管理权之争:公司迁址,管理层更迭