自学内容网 自学内容网

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

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 LIMIT
  FAILED_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 LIMIT
  parameter_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。


原文地址:https://blog.csdn.net/2302_80755459/article/details/145268581

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!