- 現在との差分 を表示
- ソース を表示
- Oracle/11g/express/07password_life_time_unlimited へ行く。
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が設定されている. |
- Oracle/11g/express/07password_life_time_unlimited のバックアップ一覧
- Oracle/11g/express/07password_life_time_unlimited のバックアップ差分(No. All)
- 1: 2016-06-09 (木) 00:42:03 nobuaki
- 2: 2016-06-09 (木) 00:55:05 nobuaki
- 現: 2016-06-09 (木) 00:55:05 shinnai(shinnai)
- Rewound to 2 ages ago. at 2017-12-04 (月) 23:28:13
Counter: 13266,
today: 1,
yesterday: 7