看到群里有小伙伴问这个问题,自己也很好奇就查了一下相关的一些知识,如果有不对的地方看到的大佬一定指出!
通过查询sys.user跟sys.user_history基表,能查询到某账户的历史修改记录。但是根据自己查询及向同事确认,在不考虑审计功能的情况下最多就能查询到修改的时间及密码文件的加密串。
--语句1
SELECT name, password_date, password
FROM sys.user$, sys.user_history$
WHERE user$.user# = user_history$.user#;
单独查询sys.user$只能查询到最近一次密码修改的记录
--语句2
select name,TYPE#,PTIME from USER$ where name ='XK';
这个表保存了关于users和roles的一些信息
一些列的说明:
--查询示例
SELECT NAME, type#, ctime, ptime, exptime, ltime, lcount
FROM sys.user$
WHERE NAME IN ('SYS', 'SYSTEM', 'PUBLIC', 'DBA', 'SCOTT')
ORDER BY NAME;
首先注意,一开始执行语句1(文章开头的)的时候并没有返回值,单独查询了一下sys.user_history$表的时候是空的。确认只有PASSWORD_REUSE_TIME设置为非UNLIMITED的时候才会记录。
--查询PASSWORD_REUSE_TIME设置
select profile,limit
from dba_profiles
where profile='DEFAULT' and resource_name='PASSWORD_REUSE_TIME';
--修改PASSWORD_REUSE_TIME设置
alter profile DEFAULT limit PASSWORD_REUSE_TIME 360;
user.user# = user_history.user#
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有