コマンドのキーワードとしてパスワードを入力させたい場合があるがパスワードはやはり
入力中にも表示されたのでは隣の人に見られてしまうし、入力後にもコマンド・ログとして
ヒストリーに残ってしまったのでは機密保護の点で大いに問題となってしまう。
例えば、次のようなコマンド・ログが残ってしまう。
TESTPASS USER(KEIRI) PASSWRD(KR1220)
これを防止するには
PARM KWD(PASSWRD) TYPE(*CHAR) LEN(10) + INLPMTLEN(*PWD) PROMPT(' パスワード ')
のように INLPMTLEN(*PWD) を指定すればよい。
ログには次のようになってパスワードは残らない。
TESTPASS USER(KEIRI) PASSWRD()
さらに入力中も表示させたくないのであれば、
PARM KWD(PASSWRD) TYPE(*CHAR) LEN(10) + DSPINPUT(*NO) INLPMTLEN(*PWD) + PROMPT(' パスワード ')
のようにして DSPINPUT(*NO) を指定すれば入力はできるが入力している文字は表示されないので、
入力中に他者から読み取られることを防止することができる。
ところで、このようなテクニックを私はどのようにして知ったのだろうか ?
答えはこのサイトの Tools の RTVCMDSRC によって OS コマンドの CHGUSRPRF によって
パスワードがどのように IBM が定義しているのかを調べただけである。
このテクニックは Spoolライター Ver5.0 の CVTSPLF コマンドの PCサーバーへの
ログイン・パスワードに応用されている。