2024年5月29日发(作者:)
Oracle 密码复杂度的设置
--某些情况下,需要强制Oracle数据库中的某些用户(例如 sys, system, 或者其他)的密
码,不能太简单。
--虽然作为数据库管理人员, 不会设置太简单的密码。
但是,当需要 数据库级别, 不允许设置太简单的密码,如果设置太简单的密码,则拒绝本
次操作。
首先:先查询一下. 当前数据库中, 都有哪些 profile
SELECT
DISTINCT profile
FROM
dba_profiles;
一般情况下, 所有的用户, 是使用一个名字叫 DEFAULT 的 profile
下面这个语句,查询 DEFAULT 的 profile , 密码方面的设置。
SQL> select
2 RESOURCE_NAME,
3 LIMIT
4 from
5 dba_profiles
6 where
7 profile='DEFAULT'
8 AND RESOURCE_TYPE = 'PASSWORD';
RESOURCE_NAME LIMIT
-------------------------------- ------------
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED
已选择7行。
注意到,那个 PASSWORD_VERIFY_FUNCTION 的 LIMIT 是 NULL
也就是没有任何的密码复杂度限制。
由于听说,直接执行那个 , 会修改 DEFAULT 这个 PROFILE, 从而导致影
响所有的用户。
因此只好去找个那个 verify_function 的代码,手工做点修改处理。
原有的代码是 数字 + 大小写 + 符号。 长度要大于等于4
现在修改为仅仅 数字 + 大小写,长度要大于等于10。
发布评论