1. 程式人生 > >oracle安全管理之概要檔案(配置檔案)

oracle安全管理之概要檔案(配置檔案)

管理口令安全性和資源

概要檔案(配置檔案)

配置檔案中引數介紹

1.       資源限制引數

        會話級資源限制

    呼叫級資源限制

2.       口令管理引數

     口令賬戶鎖定引數

       

     口令失效和過期

     口令歷史記錄

      

建立配置檔案:口令配置

CREATE PROFILE  profileLIMIT

[FAILED_LOGIN_ATTEMPTS  max_value]

[PASSWORD_LIFE_TIME  max_value]

[ {PASSWORD_REUSE_TIME

|PASSWORD_REUSE_MAX

}  max_value]

[PASSWORD_LOCK_TIME  max_value]

[PASSWORD_GRACE_TIME  max_value]

[PASSWORD_VERIFY_FUNCTION

{function|NULL|DEFAULT} ]

建立配置檔案:資源配置

CREATE PROFILE profile LIMIT
[SESSIONS_PER_USER max_value]
[CPU_PER_SESSION max_value]
[CPU_PER_CALL max_value]
[CONNECT_TIME max_value]
[IDLE_TIME max_value]
[LOGICAL_READS_PER_SESSION max_value]
[LOGICAL_READS_PER_CALL max_value]
[COMPOSITE_LIMIT max_value]
[PRIVATE_SGA max_bytes]
其中:
profile:是配置檔案的名稱
max_value:是一個整數、UNLIMITED 或DEFAULT
max_bytes:是一個整數,後面可以跟KB 或MB、UNLIMITED 或者DEFAULT

口令配置和資源配置檔案一般分開建立

修改配置檔案

ALTER PROFILE profile LIMIT

[FAILED_LOGIN_ATTEMPTS max_value]

[PASSWORD_LIFE_TIME max_value]

[ {PASSWORD_REUSE_TIME

|PASSWORD_REUSE_MAX} max_value]

[PASSWORD_LOCK_TIME max_value]

[PASSWORD_GRACE_TIME max_value]

[PASSWORD_VERIFY_FUNCTION

{function|NULL|DEFAULT} ]

若要將口令引數設定為不超過一天:

小時:PASSWORD_LOCK_TIME = 1/24

10 分鐘:PASSWORD_LOCK_TIME = 10/1400

分鐘:PASSWORD_LOCK_TIME = 5/1440

刪除配置檔案

DROP PROFILE profile [CASCADE]

其中:

profile:是要刪除的配置檔案的名稱

CASCADE:指定此選項可以刪除當前分配給使用者的配置檔案。

查詢配置檔案

dba_users   查詢使用者所使用的配置檔案

dba_profiles  查詢所有的引數檔案的基本資訊

user_password_limits 查詢使用者設定的口令檔案的每條引數的資訊

user_resource_limits 查詢設定的資源限制引數

例項

1.建立一個res_profile配置檔案

SQL> create profile res_profile limit sessions_per_user 4 connect_time 60 idle_time20 private_sga100K cpu_per_call 100;

2.建立一個pwd_profile的配置檔案

SQL> create profile pwd_profile limit failed_login_attempts 4 password_lock_time 10;

Profile created.

3.將概要檔案分配給使用者

SQL> create user user5 identified by user5 profile res_profile;

User created.

查詢

SQL> select profile from dba_users where username='USER5';

PROFILE
------------------------------
RES_PROFILE

修改使用者的概要檔案

SQL> alter user user5 profile pwd_profile;

User altered.

SQL> select profile from dba_users where username='USER5';

PROFILE
------------------------------
PWD_PROFILE

4.修改概要檔案,使用alter profile ...limit,執行該語句的使用者必須擁有alter profile許可權

SQL> alter profile pwd_profile limit password_life_time 10;

Profile altered.

5.查詢概要檔案pwd_profile內容

SQL> select * from dba_profiles where profile='PWD_PROFILE';

PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
PWD_PROFILE                    COMPOSITE_LIMIT                         KERNEL   DEFAULT
PWD_PROFILE                    SESSIONS_PER_USER                KERNEL   DEFAULT
PWD_PROFILE                    CPU_PER_SESSION                     KERNEL   DEFAULT
PWD_PROFILE                    CPU_PER_CALL                            KERNEL   DEFAULT
PWD_PROFILE                    LOGICAL_READS_PER_SESSION        KERNEL   DEFAULT
PWD_PROFILE                    LOGICAL_READS_PER_CALL           KERNEL   DEFAULT
PWD_PROFILE                    IDLE_TIME                        KERNEL   DEFAULT
PWD_PROFILE                    CONNECT_TIME                     KERNEL   DEFAULT
PWD_PROFILE                    PRIVATE_SGA                      KERNEL   DEFAULT
PWD_PROFILE                    FAILED_LOGIN_ATTEMPTS            PASSWORD 4
PWD_PROFILE                    PASSWORD_LIFE_TIME               PASSWORD 10
PWD_PROFILE                    PASSWORD_REUSE_TIME              PASSWORD DEFAULT
PWD_PROFILE                    PASSWORD_REUSE_MAX               PASSWORD DEFAULT
PWD_PROFILE                    PASSWORD_VERIFY_FUNCTION         PASSWORD DEFAULT
PWD_PROFILE                    PASSWORD_LOCK_TIME               PASSWORD 10
PWD_PROFILE                    PASSWORD_GRACE_TIME              PASSWORD DEFAULT

16 rows selected.

6.刪除概要檔案

SQL> drop profile pwd_profile;
drop profile pwd_profile
*
ERROR at line 1:
ORA-02382: profile PWD_PROFILE has users assigned, cannot drop without CASCADE


SQL> drop profile pwd_profile cascade;

Profile dropped.

說明:如果刪除的概要檔案已經指定給使用者,則必須在drop profile 中加入cascade

8.查詢

查詢口令檔案為使用者設定的策略資訊

SQL> select * from user_password_limits;

RESOURCE_NAME                    LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS            10
PASSWORD_LIFE_TIME               UNLIMITED
PASSWORD_REUSE_TIME              UNLIMITED
PASSWORD_REUSE_MAX               UNLIMITED
PASSWORD_VERIFY_FUNCTION         NULL
PASSWORD_LOCK_TIME               UNLIMITED
PASSWORD_GRACE_TIME              UNLIMITED

查詢資源配置檔案為使用者設定的策略資訊

SQL> select * from user_resource_limits;

RESOURCE_NAME                    LIMIT
-------------------------------- ----------------------------------------
COMPOSITE_LIMIT                  UNLIMITED
SESSIONS_PER_USER                UNLIMITED
CPU_PER_SESSION                  UNLIMITED
CPU_PER_CALL                     UNLIMITED
LOGICAL_READS_PER_SESSION        UNLIMITED
LOGICAL_READS_PER_CALL           UNLIMITED
IDLE_TIME                        UNLIMITED
CONNECT_TIME                     UNLIMITED
PRIVATE_SGA                      UNLIMITED