【翻译自mos文章】oraclepassword管理策略

oraclepassword管理策略

參考原文:
Oracle Password Management Policy (Doc ID 114930.1)

细节:
password管理通过使用profile来建立。

当password过期后,假设user有能力独立地从 end-user application(前台业务软件)改动password的话,通常的推荐是仅仅指派给这些schemas 一个profile,该profile有? password aging an expiration features 。
通常这意味着application(前台业务软件)必须正确的使用 OCIPasswordChange() OCI call 。比方sqlplus

一个profile 能够在指定password參数时被建立。然后把该profile指派给一个user

SQL> create profile custom limit failed_login_attempts 20;
Profile created.

SQL> alter user scott profile custom;
User altered.

oracle提供一个脚本( $ORACLE_HOME/rdbms/admin/utlpwdmg.sql)来实现? DEFAULT profile上的 password管理特性。
dba能够把它(该脚本)作为一个样例使用,以查看password management特性时怎么被enabled的。
复制该脚本并依据你的须要自定义该脚本,请在上生产之前測试该脚本(或者你自定义的脚本)

在oracle database profile中。有7个password管理的參数能够被指定。以下分别讨论:

1. Account Locking

?当一个user 超过了指派给他的失败登陆次数(FAILED_LOGIN_ATTEMPTS),oracle db 会自己主动lock住该user的账户(account)。该lock的持续时间为PASSWORD_LOCK_TIME(该PASSWORD_LOCK_TIME是profile里边的resource)指定的时间。

?
?Profile parameters:
? FAILED_LOGIN_ATTEMPTS
? PASSWORD_LOCK_TIME

2. Password Aging and Expiration
当超过了PASSWORD_LIFE_TIME中指定的时间之后。password会expire,然后 user or? dba 必须改掉该password。A grace period(以天为单位,也就是PASSWORD_GRACE_TIME指定的period)能够被设置,以同意user 在passwordexpired之后直到 grace period 期间之内, 改变他们的password。
user 进入 grace period 期间的依据是:在他们的passwordexpired后。而且他们第一次登陆到db中的那个时刻。

在 grace period 期间之内, 在用户每一次登陆到db之后。都会显示一条warning的消息,该消息会持续出现,直到grace period expired。在grace period 期内,用户必须改动password,假设在grace period 期内不改动password。则该account expired 而且不会被同意登陆。直到password被改动。

注意: password不会也不能被locked。即使是因为 超过life time 和后来的 grace time。可是该user除非改动password,否则是不能login的。

Profile parameters:
?PASSWORD_LIFE_TIME
?PASSWORD_GRACE_TIME

3. Password History

user 不能重用原来password的时间间隔 就是 (PASSWORD_REUSE_TIME。该间隔能够以天为单位指定。
or a number of password changes the user must make before the current password can be reused (PASSWORD_REUSE_MAX).
--->看似这个PASSWORD_REUSE_MAX的含义是:在当前password能被重用之前,用户必须改变很多次password,也就是说PASSWORD_REUSE_MAX是指定的改password的次数?

4. Password Complexity Verification
dba能够使用PL/SQL建立自己的 password verification routines (password验证程序)。然后就能够让oracle db 使用该routine 来检查password复杂度。

Profile parameter:
PASSWORD_VERIFY_FUNCTION

sys拥有的PL/SQL function 必须遵守 以下的格式:
routine_name( userid_parameter IN VARCHAR2, password_parameter IN VARCHAR2, old_password_parameter IN VARCHAR2) RETURN BOOLEAN

默认的password验证函数在 $ORACLE_HOME/rdbms/admin/utlpwdmg.sql文件里。

该文件能够作为一个样例或者依据你的须要进行改动。

该函数能够被profile关联使用。
alter profile default limit password_verify_function <routine_name>;

禁用某 default profile上的password验证函数的方法例如以下:
SQL> alter profile default limit password_verify_function null;

password复杂验证一旦启用,用户能够通过非常多方法来改动他们自己的password:

第一个方法: sqlplus的password命令
SQL> connect scott/tiger
Connected.
SQL> password
Changing password for SCOTT
Old password:
New password:
Retype new password:
Password changed
SQL>

第二个方法:alter user 命令:
SQL> ALTER USER &MYUSERNAME IDENTIFIED BY &NEWPASSWORD REPLACE &OLDPASSWORD;

使用replace keyword的alter user 语法 是修复 bug 1231172方案的一部分,因此,该语法能够在当前全部支持的release上使用。

第三个方法:前台业务软件使用 OCIPasswordChange() call。

以下是一个样例:
-- A default password complexity function is provided.
-- This sample function makes no checks and always returns true.
-- The logic in the function should be modified as required.
-- See $ORACLE_HOME/rdbms/admin/utlpwdmg.sql for an idea of kind
-- of logic that can be used.
-- This function must be created in SYS schema.
-- connect sys/ as sysdba before running this.

?

-- This function will not check the provided password. It is just an example and

-- will return true for any password. For a real password verification routine see

-- script $ORACLE_HOME/rdbms/admin/utlpwdmg.sql.

CREATE OR REPLACE FUNCTION always_true (username varchar2,
password varchar2, old_password varchar2) RETURN boolean IS
BEGIN
RETURN(TRUE);
END;
/

-- This script alters the default parameters for Password Management.
-- This means that all the users on the system have Password Management
-- enabled and set to the following values unless another profile is
-- created with parameter values set to different value or UNLIMITED
-- is created and assigned to the user.

ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 60 -- (days)
PASSWORD_GRACE_TIME 10 --(days)
PASSWORD_REUSE_TIME 1800
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 3 --(times)
PASSWORD_LOCK_TIME 1/1440 --(days)
PASSWORD_VERIFY_FUNCTION always_true;

原文地址:https://www.cnblogs.com/ldxsuanfa/p/10888097.html

时间: 2024-10-09 19:06:06

【翻译自mos文章】oraclepassword管理策略的相关文章

【翻译自mos文章】oracle密码管理策略

oracle密码管理策略 参考原文: Oracle Password Management Policy (Doc ID 114930.1) 细节: 密码管理通过使用profile来建立. 当密码过期后,如果user有能力独立地从 end-user application(前台业务软件)修改密码的话,通常的推荐是只指派给这些schemas 一个profile,该profile有  password aging an expiration features . 通常这意味着application(

【翻译自mos文章】注意: ASMB process exiting due to lack of ASM file activity

注意: ASMB process exiting due to lack of ASM file activity 参考原文: NOTE: ASMB process exiting due to lack of ASM file activity (Doc ID 754110.1) 适用于: Oracle Server - Enterprise Edition - Version 10.1.0.2 to 11.2.0.4 [Release 10.1 to 11.2] Information in

【翻译自mos文章】修改被 DB Control 监控的db (10g and 11g)中 dbsnmp密码的方法

修改被 DB Control 监控的db (10g and 11g)中 dbsnmp密码的方法 参考原文: How to Change DBSNMP Password in Database 10g and 11g Monitored by DB Control (Doc ID 259387.1) 适用于: Enterprise Manager for Oracle Database - Version 10.1.0.4 to 11.2.0.3 [Release 10.1 to 11.2] In

【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方案。

使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方案. 参考原文: ORA-01555 Using Automatic Undo Management - Causes and Solutions (Doc ID 269814.1) 适用于: Oracle Database - Enterprise Edition - Version 9.0.1.0 and later Information in this document

【翻译自mos文章】11gR2中的asm后台进程

11gR2中的asm后台进程 参考原文: ASM Background Processes in 11.2 (Doc ID 1641678.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.2 to 11.2.0.4 [Release 11.2] Information in this document applies to any platform. 1 ASMB - ASM Background Process 与as

【翻译自mos文章】找到&#39;cursor: pin S wait on X&#39; 等待事件的阻塞者session(即:持有者session)

找到'cursor: pin S wait on X' 等待事件的阻塞者session(即:持有者session) 来源于: How to Determine the Blocking Session for Event: 'cursor: pin S wait on X' (Doc ID 786507.1) 适用于: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11.2

【翻译自mos文章】SGA_TARGET与SHMMAX的关系

SGA_TARGET与SHMMAX的关系 参考原文: Relationship Between SGA_TARGET and SHMMAX (文档 ID 1527109.1) 适用于: Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2] Information in this document applies to any platform. 目的: 解释了参数文件中

【翻译自mos文章】在11gR2 rac环境中,文件系统使用率紧张,并且lsof显示有很多oraagent_oracle.l10 (deleted)

在11gR2 rac环境中,文件系统使用率紧张,并且lsof显示有很多oraagent_oracle.l10 (deleted) 参考原文: High Space Usage and "lsof" Output Shows Many 'oraagent_oracle.l10 (deleted)' in GI environment (Doc ID 1598252.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.

【翻译自mos文章】使用Windows操作系统的Dell Pcserver,Oracle db报错:ORA-8103

翻译自mos文章:使用Windows操作系统的Dell Pcserver,Oracle db报错:ORA-8103 ORA-8103 using Windows platform and DELL servers (Doc ID 1921533.1) Applies to: Oracle Database - Personal Edition - Version 11.1.0.6 to 12.1.0.2 [Release 11.1 to 12.1] Oracle Database - Stand