1 概述
2 密码策略
2.1 密码校验规则
utlpwdmg.sql
是 oracle 自带的用于校验密码的脚本- 默认的路径位置:
$ORACLE_HOME/rdbms/admin/
- 设置查询 sql:
select * from dba_profiles order by profile, resource_type
其中主要参数如下:
参数名 | 解释 |
---|---|
PASSWORD_LIFE_TIME N | 密码生命周期:N 天 |
PASSWORD_GRACE_TIME N | 密码宽限期:N 天。PASSWORD_LIFE_TIME 后还能用 N 天,但会有提示:系统在几天内过期 |
PASSWORD_REUSE_TIME N | 密码再次使用时间。相同密码 N 天后才能继续使用(UNLIMITED:不限制) |
PASSWORD_REUSE_MAX N | 密码再次使用次数。PASSWORD_REUSE_TIME 后相同密码至少修改 N 次后才能继续使用(每次修改密码不同) |
FAILED_LOGIN_ATTEMPTS N | 失败的登录尝试。用户在登录尝试失败 N 次后被锁定 |
PASSWORD_LOCK_TIME N | 密码锁定时间。FAILED_LOGIN_ATTEMPTS 后被锁 N 天 |
PASSWORD_VERIFY_FUNCTION | 密码验证函数。Oracle 内置,源自 utlpwdmg.sql |
主要函数:
2.2 修改密码有效期
SQL> -- 查询当前密码策略有效期
SQL> select * from dba_profiles t where t.profile = 'DEFAULT' and t.resource_name = 'PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- --------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
SQL> -- 修改为 无期限
SQL> alter profile default limit password_life_time unlimited;
Profile altered
SQL> -- 再次查询,修改已完成
SQL> select * from dba_profiles t where t.profile = 'DEFAULT' and t.resource_name = 'PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- --------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
2.3 修改密码尝试次数
SQL> -- 查询当前密码尝试次数
SQL> select * from dba_profiles t where t.profile = 'DEFAULT' and t.resource_name = 'FAILED_LOGIN_ATTEMPTS';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- --------------------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
SQL> -- 修改为 3 次,超过锁定账号
SQL> alter profile default limit failed_login_attempts 3;
Profile altered
SQL> -- 再次查询,修改已完成
SQL> select * from dba_profiles t where t.profile = 'DEFAULT' and t.resource_name = 'FAILED_LOGIN_ATTEMPTS';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- --------------------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 3