前回の続きです。
先に作成したマニュアル記載のExit Programを使用してFTPサーバーにログインするユーザーIDで動作の違いを検証してみます。
一点、IBM i はデフォルトでANONYUMOUSユーザーが利用不可能状態で出荷されます。利用しているシステムもANONYMOUSが利用不可だったため、以下のユーザーIDでテストします。
下記のユーザーでテストしてみます。
制限かからないユーザー : GOMA
制限かかるユーザー:GOMA2
前掲載のExitプログラム・コードを一部修正します。
と言っても判断するユーザーIDのところだけです。下記の通りです。
- ユーザーID GOMA2 となっている2行(とコメント1行)を修正
- USRLEN = ユーザーIDの長さ を5に修正
これをコンパイルします。
出口点(Exit Point)に上記のユーザープログラムを登録する。
WRKREGINFコマンドを実行し、FTPサーバーログインの出口点を探します
以前の記事のようにFTPサーバーログインは3つの形式でExit Programを作成できます。マニュアルサンプルは1つ目の、TCPL0100 に該当するようです。この項目を8で開きます。
Opt.1 を入力して、次画面で、以下のようにパラメーター入力してExit Programを登録します。
- プログラム番号は既存と被らなければOK。そもそもこの出口点は1つしかExit Programを登録できないので任意の番号でよい、という事だと思います。私は1としました。
- プログラム名、ライブラリー名は前の記事で作成したExit Program名を指定します
- スレッドセーフか、マルチスレッド・ジョブの処理、もパラメーターがありますが、ひとまず条件が無いのでデフォルトのままです。
以下のようにExit プログラムが登録されました。
Exitプログラムを動作検証してみる。:一般ユーザー
このExit Programではユーザーがログインした直後のユーザーのIBM i 上の現行ディレクトリが変化するはずです。
まず、一般ユーザー(GOMA)で試してみます。
下記のように現行ディレクトリがQGPLになっています。
制限ユーザーでのテスト結果
では、制限されているユーザー(GOMA2)で実行してみます。
上記のように出口Programで設定したPUBLICライブラリーが現行ディレクトリになっています。
※このユーザーGOMA2のユーザー・プロファイルでは現行ライブラリーがGOMALIBとなっていますが上書きされるようです。
FTPサーバーログイン後の制御を出口Programでやってみる
もうひとつのExit Point, QIBM_QTMF_SERVER_REQ に出口プログラムを登録することでftpサーバーログイン後の挙動の制御もできるようです。こちらも試してみたいと思います。
つづく・・・