#topicpath

11gでは大文字と小文字を区別することもできますという設定です。

* 初期化パラメータの設定 [#j1ba0c66]

[[セキュリティガイド:http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/network.111/E05730-05/toc.htm]] を見ます。

「パスワードでの大/小文字の区別の有効化または無効化」にあるように設定しますが、
すでに設定されていました。

#pre{{
SQL> show parameter sec_case_sensitive_logon

NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
sec_case_sensitive_logon             boolean
TRUE
SQL>     
}}

もし FALSE になっていれば TRUE にします。

#pre{{
SQL> alter system set sec_case_sensitive_logon = TRUE;

システムが変更されました。

SQL> 
}}

* デフォルトプロファイルの設定 [#gfb26f65]

[[SQLリファレンス:http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05750-03/statements_2.htm]] で ALTER PROFILE を見てみます。

> ALTER PROFILE '''profile''' LIMIT '''password_parameters''';

ということで、'''password_parameters''' から見ると
このあたりが当てはまります。

> ALTER PROFILE '''profile''' LIMIT
> PASSWORD_VERIFY_FUNCTION '''function''';

それでこの '''function''' というのは何ぞやというのは
マニュアルからはなかなか見つけられません。

$ORACLE_HOME/rdbms/admin/*.sql から探してみます。

#pre{{
[oracle@ora1 1_Basic]$ cd $ORACLE_HOME/rdbms/admin 
[oracle@ora1 admin]$ grep -i password_verify_function *.sql
catmeta.sql:                    p.type_num =1 ),         -- PASSWORD_VERIFY_FUNN
catmeta.sql:--                              PASSWORD_VERIFY_FUNCTION 
catmeta.sql: ('PASSWORD_VERIFY_FUNCTION',0, 16,'ORACLE', 0801000000,
catmeta.sql: ('ORACLE','DDL','PASSWORD_VERIFY_FUNCTION','DUMMY','0',0,NULL,1,NU;
catmeta.sql:-- PASSWORD_VERIFY_FUNCTION parse items
catmeta.sql: ('ORACLE','PARSE','PASSWORD_VERIFY_FUNCTION','PRS_OBJECT_TYPE','0',
catmeta.sql:    '''PASSWORD_VERIFY_FUNCTION''',NULL,NULL,NULL);
catmeta.sql:-- PASSWORD_VERIFY_FUNCTION parse items (internal)
catmeta.sql: ('ORACLE','PARSE','PASSWORD_VERIFY_FUNCTION','PRS_GRANTOR','0',0,
utlpwdmg.sql:Rem    asurpur     12/12/96 - Changing the name of password_verifyn
utlpwdmg.sql:PASSWORD_VERIFY_FUNCTION verify_function_11G;
utlpwdmg.sql:-- PASSWORD_VERIFY_FUNCTION verify_function;
[oracle@ora1 admin]$ 
}}

catmeta.sql と utlpwdmg.sql が見つかりましたが、
utlpwdmg.sql を使います。

このスクリプトでは

- CREATE OR REPLACE FUNCTION verify_function_11G
- ALTER PROFILE DEFAULT LIMIT ... PASSWORD_VERIFY_FUNCTION verify_function_11G
- CREATE OR REPLACE FUNCTION verify_function

の3つの処理をやっているのがわかります。

そのまま実行すると 11g でのパスワードポリシーになるんですね。

#pre{{
[oracle@ora1 admin]$ sqlplus sys/oracle@orcl as sysdba @utlpwdmg

SQL*Plus: Release 11.2.0.1.0 Production on 土 9月 19 17:38:52 2009

Copyright (c) 1982, 2009, Oracle.  All rights reserved.



Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。

ファンクションが作成されました。


プロファイルが変更されました。


ファンクションが作成されました。

SQL> 
}}

----
#comment


トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS