【问题标题】:How to disable expiration password time and lock in Oracle database如何禁用过期密码时间并锁定Oracle数据库
【发布时间】:2021-04-10 07:26:24
【问题描述】:

我设置了一个新密码并解锁了所有 Oracle 数据库用户。 然后我在系统用户下的 SQL 开发人员中使用了以下行:

  • ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
  • ALTER PROFILE DEFAULT LIMIT PASSWORD_LOCK_TIME UNLIMITED;
  • ALTER 配置文件默认限制 PASSWORD_GRACE_TIME UNLIMITED;
  • ALTER 配置文件默认限制 FAILED_LOGIN_ATTEMPTS UNLIMITED;

一切似乎都很好,但几周后,我在企业管理器中打开了用户选项卡,所有用户的密码都已过期并被锁定。

以下数据库出现同样的问题:Oracle 11g、12c、18c、19c

这是一个仅用于测试的数据库

你能告诉我如何设置它一劳永逸,好吗?

请给我写一份分步指南,告诉我怎么做。

非常感谢您。

【问题讨论】:

  • 你想要完成的事情是一个非常糟糕的主意。你让你的数据库更容易被入侵。
  • @thatjeffsmith 这是一个仅用于测试的数据库
  • 即便如此,其他人可能会偶然发现这一点。有人可能已经手动过期/锁定了这些帐户 - 或者通过某种脚本或软件安装。
  • 据我所知,当密码已经过期时,您只能通过更改密码来释放它。你不能设置ALTER USER ... PASSWORD NOT EXPIRED
  • 最好为此创建一些测试用户。使用 DB 内部帐户似乎是个坏主意 - 即使在测试数据库上也是如此。

标签: oracle


【解决方案1】:

更改配置文件不会更改任何现有的密码参数。如果密码设置了到期日期,那么在更改密码之前该日期仍然有效。 在更改密码时查阅配置文件。所以这是你观察到的顺序:

  1. 个人资料的密码有效期为“n”天。
  2. 用户 SCOTT 的密码已创建或更改;那时查阅个人资料,用户的“密码到期日期”设置为 sysdate + n。
  3. 您将配置文件更改为设置密码无限制。这不会更改任何现有的用户属性。 SCOTT 仍然具有第 2 步中设置的密码到期日期。
  4. 重置 SCOTT 的密码。这时候查阅profile,可以看到密码生命周期设置为unlimited,所以SCOTT的有效期设置为null。

阅读更多here

但我会同意其他人的观点。即使这是一个测试系统,您提出的(解锁所有帐户)也是一个非常糟糕的主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 2014-12-08
    • 2016-01-31
    • 1970-01-01
    相关资源
    最近更新 更多