数値ユーザー ID とパスワードについて
IBM i は次のように命名規約を定義しています。
- オブジェクト名はアルファベット文字 (A-Z) または特殊文字#、$、または @ で始まる必要がある。
- 残りの文字 (合計 10 文字まで) には A-Z、0-9、#、$、@、_、およびピリオド (.) が含まれていること。
- オブジェクト名は大文字と小文字を区別しない。
しかし、ユーザー・プロファイル名およびパスワードについては、興味深い現象が発生します。
ユーザー・プロファイルを作成する場合、次の例のように、ユーザー・プロファイル名を指定し、任意にパスワードを指定します。
CRTUSRPRF USRPRF(BOBSMITH) PASSWORD(PASS1WORD5)
これらの例では、Password Level (QPWDLVL) は 0 または 1 を想定しています。これで、パスワードは最大 10 文字長に制限されます。
さて、ユーザーがログインすると、シンプルな ID (BOBSMITH など) およびパスワード (PASS1WORD5 など) を使用します。シンプルで簡単です。
しかし、次の例を考えてみてください。
CRTUSRPRF USRPRF(Q12345) PASSWORD(Q11111)
このコマンドを使用してユーザー・プロファイルが作成されている場合、実際ユーザーは、2 種類のユーザー ID と 2 種類のパスワードを使用してログインできます。奇妙な感じですが、説明させてください。
ユーザーは、次のユーザー ID とパスワードの組み合わせでログインできます。
- ID: Q12345、パスワード: Q11111
- ID: Q12345、すべて数値のパスワード: 11111
- すべて数値の ID 12345、パスワード: Q11111
- すべて数値の ID: 12345、すべて数値のパスワード: 11111
この奇妙なサポートの秘密ですが、ユーザー ID またはパスワードの最初の文字が特に文字 Q、でその後に数字だけが続いています。この場合文字 Q は、システム・ログイン処理中、ユーザー ID またはパスワードのオプション部分になります。
CRTUSRPRF コマンドの Help ファイル (F1) を参照すると、この Q 数字サポートの詳細がわかります。
システム管理者として、Q 数字ユーザー・プロファイルの作成を禁止するポリシーを施行できます。しかし、ユーザーは Change Password (CHGPWD) コマンドおよび API を使用して自分のパスワードを Q 数字パスワードに変更できます。
ユーザーがパスワードを Q 数字フォーマット (Q11111 など) に設定できないようにするには、QPWDLMTAJC システム値を 1 に設定するか、*DGTLMTAJC 値を QPWDRULES システム値に組み込むことができます。CHGPWD でユーザーがパスワードを変更している場合に、この設定のいずれかにより、パスワードの隣接する数字が使用できなくなります。