Oracle 深入学习 Part 14:Managing Password Security and Resources(管理密码安全性和资源)

news/2025/1/22 22:57:19/

Profiles

  • Profile 是一个以名称标识的集合,用于管理 密码资源限制

  • 每个用户都对应一个profiles,可以通过 CREATE USERALTER USER 命令分配给用户。

  • Profiles 可以启用或禁用。

  • Profiles 可以关联到默认的 DEFAULT Profile。

密码管理(Password Management)

密码管理分为四个部分:

  1. Account Locking(账户锁定)

    • 首先检测用户是否被锁定。

  2. Password Verification(密码验证)

    • 如何检测设置的密码是否足够复杂。

  3. Password Expiration and Aging(密码到期与老化)

    • 查看口令是否在有效期内。

  4. Password History(密码历史记录)

    • 检测口令是否重复。

启用密码管理(Enabling Password IMgmt)

设置密码管理:通过使用配置文件(profiles)并将其分配给用户实现。

管理账户状态:使用 CREATE USERALTER USER 命令来锁定、解锁或过期账户。

密码限制:密码限制始终会被强制执行。

启用密码管理:以 SYS 用户身份运行 utlpwdmg.sql 脚本来启用密码管理功能。

创建proflie

CREATE PROFILE my_profile LIMITFAILED_LOGIN_ATTEMPTS    n       -- 设置用户连续登录失败的最大次数。PASSWORD_LOCK_TIME n          -- 指定账户锁定的持续时间(以天为单位)。PASSWORD_LIFE_TIME n                -- 设置密码的有效期(天数)。PASSWORD_GRACE_TIME   n        -- 密码到期后提供的宽限期(天数)。PASSWORD_REUSE_TIME n       -- 控制密码重复使用的时间间隔(以天为单位)。PASSWORD_REUSE_MAX n        -- 控制用户在更改密码的次数达到指定值之前,不能重复使用旧密码。   PASSWORD_VERIFY_FUNCTION NULL; -- 密码验证函数
Password Account Locking
  • FAILED_LOGIN_ATTEMPTS

    • 设置用户连续登录失败的最大次数。

    • 超过此次数后,账户会自动锁定。

  • PASSWORD_LOCK_TIME

    • 指定账户锁定的持续时间(以天为单位)。

    • 值为:

      • 0:立即解锁。

      • UNLIMITED:永久锁定(需管理员手动解锁)。

      • 其他数字(如 1 表示锁定一天)。

Password Expiration & Aging

  • PASSWORD_LIFE_TIME

    • 设置密码的有效期(天数)。

    • 用户密码达到有效期后,会被强制要求更改密码。

  • PASSWORD_GRACE_TIME

    • 密码到期后提供的宽限期(天数)。

    • 宽限期内用户仍可以登录,但会收到密码即将过期的警告。宽限期结束后,用户账户会被锁定,直到密码更新。

Password History

  • PASSWORD_REUSE_TIME

    • 控制密码重复使用的时间间隔(以天为单位)。

    • 如果设置为 UNLIMITED,表示密码永远不能重复使用。

  • PASSWORD_REUSE_MAX

    • 控制用户在更改密码的次数达到指定值之前,不能重复使用旧密码。

    • 如果设置为 UNLIMITED,表示没有限制。

Password Verification

  • PASSWORD_VERIFY_FUNCTION

    • 指定函数校验密码复杂度

修改Profile

修改 Profile 的语法是使用 ALTER PROFILE 语句。

ALTER PROFILE profile_name LIMITparameter_name value[, parameter_name value ...];
  • profile_name:要修改的 Profile 的名称。

  • parameter_name:要修改的参数名称,比如 PASSWORD_VERIFY_FUNCTIONFAILED_LOGIN_ATTEMPTS 等。

  • value:对应参数的新值。

删除profile

删除一个 Profile 使用 DROP PROFILE 语句。

DROP PROFILE profile_name [CASCADE];

profile_name:要删除的 Profile 的名称。

CASCADE:如果该 Profile 已分配给用户,则必须使用 CASCADE 关键字。这样会将分配该 Profile 的用户重新分配到默认 Profile。


http://www.ppmy.cn/news/1565325.html

相关文章

Chapter 3-14. Detecting Congestion in Fibre Channel Fabrics

Port Monitor Policy Parameters Each policy contains one or more counters to monitor. Counters have the following parameters: 每个策略包含一个或多个要监控的计数器。计数器有以下参数: Counter name: The name of the counter which describes its function. 说明…

uniapp封装websocket

WebSocket介绍 后端使用的是springbootnetty做websocket的服务端,参考我其他博文 项目使用场景 开发uniapp项目时,需要进行实时通信,比如聊天等。需要封装一个工具类,统一对socket进行管理。 uniapp websocket官方文档&#xff1…

【PowerQuery专栏】PowerQuery提取XML数据

XML数据和Json 数据类型都是比较典型的层次数据类型,XML的数据格式非常的对称。所有的数据均是由标签对组成,图为典型的XML文件类型的数据。 在PowerQuery中进行XML数据类型解析采用的是Xml.Document 函数来进行文件内容的解析,Xml.Document 目前有三个可用参数。 参数1为数…

MySQL面试题2025 每日20道【其二】

1、MySQL 默认的事务隔离级别是什么?为什么选择这个级别? MySQL 默认的事务隔离级别是 REPEATABLE READ(可重复读),特别是在使用 InnoDB 存储引擎时。这个级别的选择是因为它在保证数据一致性和性能之间提供了一个良好…

Flutter中PlatformView在鸿蒙中的使用

Flutter中PlatformView在鸿蒙中的使用 概述在Flutter中的处理鸿蒙端创建内嵌的鸿蒙视图创建PlatformView创建PlatformViewFactory创建plugin,注册platformview注册插件 概述 集成平台视图(后称为平台视图)允许将原生视图嵌入到 Flutter 应用…

ubuntu24部署openwrt编译环境

系统ubuntu24.04 #安装依赖项 sudo apt-get update sudo apt-get install -y gcc binutils bzip2 flex python3 perl make \ findutils grep diffutils unzip gawk dpkg-dev subversion libz-dev libc6-dev #顺道安装其他工具 sudo apt-get install -y build-essential libssl…

从 Web1 到 Web3:互联网发展的历史与未来

从 Web1 到 Web3:互联网发展的历史与未来 导语 互联网的演变已经经历了多个重要的阶段,从最初的 Web1 到如今的 Web3,这一路走来,每一次的技术进步和理念创新都极大地改变了我们与世界互动的方式。从简单的信息传递到如今的去中…

style标签没有写lang=“scss“引发的 bug 和反思

遇到了一个问题,有一个css样式问题,在 chrome 浏览器上和 16.0 版本以上的 safari 浏览器完全没有问题,但是在 15.3 版本的safari浏览器上就完全乱套了。 一查发现是我的某个 vue 文件中的style标签忘记写 lang"scss" 了&#xf…