概述
Oracle数据库创建起来后,会创建很多辅助用户,这些用户帐号如果不去修改密码,他们使用的全部是默认密码,有些账号的默认密码已经是公开了的秘密,给数据库的安全带来威胁。那么,我们怎么去知道哪些用户是没改过密码的呢?
1、 常用脚本
查询出当前使用默认密码的用户帐号和状态等
SELECT a.username, b.account_status 访问状态,b.LOCK_DATE 锁定时间,b.expiry_date 过期时间,b.created 创建时间 FROM dba_users_with_defpwd a JOIN dba_users b ON a.username = b.username ORDER BY 1;
这个也是我比较常用的脚本。
2、修改账号密码
dba_users_with_defpwd视图只有一个字段“USERNAME”,当对帐号修改密码后,用户账号随即从dba_users_with_defpwd视图中消失
(1)对APPQOSSYS用户修改密码:
alter user APPQOSSYS identified by pwdpwdpwd;
(2)查询APPQOSSYS用户是否使用的默认密码:
select * from dba_users_with_defpwd where username='APPQOSSYS';
这时已经从dba_users_with_defpwd视图中查不到APPQOSSYS用户信息,说明APPQOSSYS帐号已经不使用的默认密码了
总结:
Oracle 11g中这个新的视图DBA_USERS_WITH_DEFPWD(显示那些具有缺省口令的用户)的改进告诉了我们:缺省口令是极其危险的!
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~