UJP - 技術情報2 バックアップ : Oracle/11g/express/07password_life_time_unlimited のバックアップ差分(No.1)

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

1: 2016-06-09 (木) 00:42:03 nobuaki ソース
Line 1: Line 1:
 +*Oracleユーザのパスワード有効期限を検証 [#a530490e]
 +**はじめに [#pb684142]
 + Oracle 10gあたりから,Oracle database上のユーザアカウントに有効期限がつく様になっている.その設定内容を確認した上で,変更したり無期限に設定する方法を説明する.
 +
 +#code(sql){{
 +select username,expiry_date from dba_users where username = 'SCOTT';
 +select sysdate from dual;
 +select sysdate + 180 from dual;
 +select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
 +alter profile default limit password_life_time 1;
 +select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
 +select username,expiry_date from dba_users where username = 'SCOTT';
 +select sysdate from dual;
 +column username for a15
 +select username,expiry_date from dba_users order by expiry_date;
 +alter profile default limit password_life_time 180;
 +select username,expiry_date from dba_users order by expiry_date;
 +alter profile default limit password_life_time unlimited;
 +select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
 +}}
 +
 +
 +**ユーザのパスワード有効期限を確認 [#oa8a26a1]
 +
 + scottユーザの有効期限を確認する.
 +
 + SQL> select username,expiry_date from dba_users where username = 'SCOTT';
 +
 + USERNAME
 + --------------------------------------------------------------------------------
 + EXPIRY_D
 + --------
 + SCOTT
 + 16-11-27
 +
 +
 + SQL>
 +
 + パスワードを変更する
 +
 + SQL> alter user scott identified by tiger;
 +
 + ユーザーが変更されました。
 +
 + SQL>
 +
 + 変更された後,再度有効期限を確認する.
 +
 + SQL> select username,expiry_date from dba_users where username = 'SCOTT';
 +
 + USERNAME
 + --------------------------------------------------------------------------------
 + EXPIRY_D
 + --------
 + SCOTT
 + 16-12-05
 +
 +
 + SQL>
 +
 + これが180日後なのか,確認してみる.
 + まずは,今現在の日付を確認.
 +
 + SQL> select sysdate from dual;
 +
 + SYSDATE
 + --------
 + 16-06-08
 +
 + SQL>
 +
 + 今日から180日を計算してみる.
 +
 + SQL> select sysdate + 180 from dual;
 +
 + SYSDATE+
 + --------
 + 16-12-05
 +
 + SQL>
 +
 + 180日後に変更されていることが確認できた.
 +
 +
 +**デフォルトのパスワード有効期限を確認して変更する [#x3bc1468]
 +
 + パスワードの有効期限は,dba_profilesに登録されているので確認する.
 +
 + SQL> select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
 +
 + PROFILE
 + --------------------------------------------------------------------------------
 + RESOURCE_NAME
 + --------------------------------------------------------------------------------
 + RESOURCE_TYPE
 + ------------------------
 + LIMIT
 + --------------------------------------------------------------------------------
 + DEFAULT
 + PASSWORD_LIFE_TIME
 + PASSWORD
 + 180
 +
 +
 + SQL>
 +
 + 180日だと確認できた
 + デフォルトのプロフィールのはず.これを1日に変更してみる.
 +
 + SQL> alter profile default limit password_life_time 1;
 +
 + プロファイルが変更されました。
 +
 + SQL>
 +
 + 変更後,設定されたか確認する.
 +
 + SQL> select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
 +
 + PROFILE
 + --------------------------------------------------------------------------------
 + RESOURCE_NAME
 + --------------------------------------------------------------------------------
 + RESOURCE_TYPE
 + ------------------------
 + LIMIT
 + --------------------------------------------------------------------------------
 + DEFAULT
 + PASSWORD_LIFE_TIME
 + PASSWORD
 + 1
 +
 +
 + SQL>
 +
 + 設定変更されたことが確認できた.
 +
 +
 +**プロフィールのexpiry_dateを変更したら即時反映されることを確認 [#t484eac5]
 +
 + 先ほどの手順で,scottユーザのパスワードを変更したので180日後の16-12-05が期限になっていたが,その後プロフィールを変更した事でscottユーザのパスワード有効期限がどうなっているか確認する.
 +
 +SQL> select username,expiry_date from dba_users where username = 'SCOTT';
 +
 +USERNAME
 +--------------------------------------------------------------------------------
 +EXPIRY_D
 +--------
 +SCOTT
 +16-06-09
 +
 +
 +SQL>
 +
 + 16-06-09に変更されている.
 + 現在日付を確認.
 +
 +SQL> select sysdate from dual;
 +
 +SYSDATE
 +--------
 +16-06-08
 +
 +SQL>
 +
 + 180日後だったものが,自動的に反映されて1日後になっていることが確認できる.
 +
 +**他のユーザへの影響 [#m2cfe11c]
 +
 + パスワードのexpiry_dateを1に変更したが,それがどこまで影響があるか確認する. まずは,現在のユーザ.
 +
 + SQL> column username for a15
 + SQL> select username,expiry_date from dba_users order by expiry_date;
 +
 + USERNAME EXPIRY_D
 + --------------- --------
 + DIP 16-05-23
 + ORACLE_OCM 16-05-23
 + DBSNMP 16-05-23
 + APPQOSSYS 16-05-23
 + XDB 16-05-23
 + XS$NULL 16-05-23
 + SYS 16-05-24
 + OUTLN 16-05-24
 + CTXSYS 16-05-24
 + ANONYMOUS 16-05-24
 + MDSYS 16-05-24
 +
 + USERNAME EXPIRY_D
 + --------------- --------
 + HR 16-05-24
 + SCOTT2 16-06-09
 + SCOTT 16-06-09
 + SYSTEM 16-06-15
 +
 + 15行が選択されました。
 +
 + SQL>
 +
 + 先ほど変更したscottユーザが明日になっているのはわかるにしても,その他のユーザの多くが16-05-24となっている.
 + 以前の180日に戻して,確認してみる.
 +
 + SQL> alter profile default limit password_life_time 180;
 +
 + プロファイルが変更されました。
 +
 + SQL> select username,expiry_date from dba_users order by expiry_date;
 +
 + USERNAME EXPIRY_D
 + --------------- --------
 + DIP 16-05-23
 + ORACLE_OCM 16-05-23
 + DBSNMP 16-05-23
 + APPQOSSYS 16-05-23
 + XDB 16-05-23
 + XS$NULL 16-05-23
 + SYSTEM 16-06-15
 + SYS 16-11-19
 + OUTLN 16-11-19
 + CTXSYS 16-11-19
 + ANONYMOUS 16-11-19
 +
 + USERNAME EXPIRY_D
 + --------------- --------
 + MDSYS 16-11-19
 + HR 16-11-19
 + SCOTT2 16-12-05
 + SCOTT 16-12-05
 +
 + 15行が選択されました。
 +
 + SQL>
 +
 +
 +**パスワードの有効期限を無制限にする [#p6ff7bbc]
 +
 +
 + プロフィールを変更してリミットを解除する.
 +
 + SQL> alter profile default limit password_life_time unlimited;
 +
 + プロファイルが変更されました。
 +
 + SQL>
 +
 + どの様に設定されたか確認する.
 +
 + SQL> select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
 +
 + PROFILE
 + --------------------------------------------------------------------------------
 + RESOURCE_NAME
 + --------------------------------------------------------------------------------
 + RESOURCE_TYPE
 + ------------------------
 + LIMIT
 + --------------------------------------------------------------------------------
 + DEFAULT
 + PASSWORD_LIFE_TIME
 + PASSWORD
 + UNLIMITED
 +
 +
 + SQL>
 +
 + 数値じゃなくてUNLIMITEDが設定されている.


トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 13266, today: 1, yesterday: 7

広告スペース
Google