达到数据库密码到期日期但帐户状态已打开

时间:2015-08-04 18:39:55

标签: sql security oracle11g

我正在调查oracle数据库11gR2,以验证过期天数到达7天以下的用户,我注意到今天有几个用户到期日但是他们的帐户状态是开放而不是过期( Grace)和一些用户通过了有效期但仍处于开放状态。

USERNAME                       ACCOUNT_STATUS                   EXPIRY_DA PROFILE
------------------------------ -------------------------------- --------- ------------------------------
SYSTEM                         OPEN                             27-JAN-16 DEFAULT
SYS                            OPEN                             28-DEC-14 DEFAULT
ERERD                          OPEN                             18-JAN-16 DEFAULT
ERFWSE                         OPEN                             04-DEC-14 DEFAULT
SERFW                          OPEN                             03-AUG-15 DEFAULT
DERSZFERSS                     OPEN                             04-DEC-14 DEFAULT

在这种情况下,我的查询无法找到帐户过期的用户。任何人都可以帮我修改查询这样一种方式,它只会列出用户和他们的帐户真正将到期天数?

select username, account_status, trunc(expiry_date-sysdate) days_to_expire
from dba_users
where  expiry_date is not null and trunc(expiry_date-sysdate) >= 0;

更新

SQL> select * from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME';

PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD 180

2 个答案:

答案 0 :(得分:1)

您的查询没问题。

密码到期日期和帐户状态是不同的。

您可以让一个过期的密码用户在您尝试连接时保持打开状态 如果您有权更改密码,则可以设置新密码, 否则用户将被锁定。

这意味着如果您与应用程序连接且应用程序未检查密码到期日期,则用户将被锁定 如果没有连接,用户将保持打开状态。

答案 1 :(得分:1)

没有任何流程通过帐户重置其到期日期的状态。用户下次登录时状态将相应更新 ~~~ H Otati