IFS の管理と機密保護

● WRKLNK (オブジェクト・リンクの処理) コマンド

5250エミュレータ上で IFSの保守と状況を最も簡単に把握することのできるコマンドが WRKLNK です。
WRKLNK コマンドは、IFS の全体像をわかりやすく捕らえることができます。
使用方法は簡単で、

WRKLNK + [実行]

だけで、次のような画面が起動されます。

英小文字が文字化けしているようであれば、CTRL + F3キーによって表示を変更してください。
タイプ = DIR として表示されている項目はディレクトリーであり、Windows のフォルダーに相当するものです。
DIR を「5=表示」を選択すると、そのディレクトリー下位を展開して表示することができます。
つまり WRKLNK とは、Windowsエクスプローラのように IFS の構造を表示するためのコマンドです。

タイプ = STMF として表示されているものがストリーム・ファイルです。
ストリーム・ファイルに対して「5=表示」を選択すると、テキスト・モードで内容を表示することができます。
しかし「2= 編集」は使用しないでください。
WRKLNK で「2= 編集」を使用するとストリーム・ファイルを予期しない状態に破壊してしまう可能性がまだ
現在の OS400リリースでは存在しています。

● IFS から見たライブラリー・システム

ライブラリー・システムもまたIFS の一部です。WRKLNK でスクロールしていくと

QSYS.LIB

という名前のディレクトリーがあることに気づかれるはずですがこれが IFS から見たライブラリー・システムです。
IFS を扱う上でライブラリー・システムも IFS の一部として表現することができます。
例えば、ライブラリー QTRSRC のファイル QRPGSRC のメンバー SMP006

/QSYS.LIB/QTRSRC.LIB/QRPGSRC.FILE/SMP006.MBR

のようにして表現されます。
ライブラリー・システムのこの名前の形式は

  • Web でライブラリー・システムのオブジェクトを指定する。

  • IFS のコマンドを使ってライブラリー・システムに保管/復元する。

  • テープ等の保管媒体に IFSを保管/復元する。

のような場面に使用することがあります。

● WRKIFS (IFS の編集) コマンド

IFS は IBM提供の WRKLNK コマンドによって処理できますがEnterpriseServer においても WRKIFS
(IFS の編集)
というコマンドが提供されています。
WRKIFS コマンドは WRKLNK が単一レベルだけの表示であるのに対してWRKIFS であればツリー構造として
IFS を表示することができます。
また WRKIFS は WRKLNK よりもパフォーマンスにおいても優れています。使用方法は WRKLNK と同じです。
WRKIFS コマンドは「CGI 開発メニュー」の中に用意されています。

● IFSファイルの文字コード

ライブラリー・システムは IBM EBCDIC コードであるのに対して、IFS ファイルは一般に UNIX互換のファイル・
システムですのでASCII または UNICODE であることが一般的です。
WRKLNK において「8= 属性の表示」によって表示される「コード化文字セット ID」が、そのストリーム・ファイル
の文字コード(CCSID) です。
日本語 Shift_JIS の場合の CCSID は 819 です。

● IFSファイルの保守

WRKLNK

既に述べたように WRKLNK でも「2= 編集」というオプションがありますがこれは使用しないでください。
予期しない結果を招くことがあります。

FTP

IFS の HTMLファイル等の保守に最も利用されるのが FtpによるIBM i と PC の間のアップロード/ダウン
ロードです。Ftp を使って HTMLを IBM i にアップロード/ダウンロードするときには必ず無変換モード(BIN)
を指示してください。
Ftp クライアントは Windows に提供されていますが操作を用意にするためにはFFFTP や NEXTFtp などの
ツールを利用するのもよいでしょう。

Ftp を使うには ?

NetServer

OS400 には Windows との親和性のために NetServer という機能が提供されています。
NetServerは IBM i の指定したフォルダー内を共有ファルダーとしてローカル PC の Windowsエクスプローラ
に公開するための機能です。
IBM i の保守したいディレクトリーを NetServerを使って公開するとローカル PC の Windowsエクスプローラ
の仮想ドライブとして公開することができるようになります。
HTML ファイルが保存されている OS400 のIFSフォルダーを Widnowsに公開してしまえばあなたの Windows
エクスプローラを使って自由に HTMLファイルを表示/編集することができるようになります。
EnterpriseServer の導入および開発援助プログラムをご契約になっている場合は、この設定が行われている
はずです。

eStudio

eSudio を使えば、IFS を最も見やすくわかりやすく全体の構造を GUI ベースで表示することができます。
また、ファイルの編集、更新、削除を行うこともできます。
下記は eStudio による IFS の状況を表示している事例です。

● IFS の保守コマンド

IBM は、いわゆる 3文字コマンドと呼ばれるコマンドを初めとしてIFS保守のためのコマンドをいくつか提供して
います。

CRTDIR : ディレクトリーの作成・・・新しいディレクトリーの作成
RMVDIR : ディレクトリーの除去・・・既存のディレクトリーの削除
RMVLNK : リンクの除去・・・IFSファイルの削除
SAV : オブジェクトの保管・・・IFSファイルの保管
RST : オブジェクトの復元・・・IFSファイルの復元

3文字コマンドを使うには ?

● IFSファイルの機密保護

IFS は独自の堅牢な機密保護機能を持っています。
Web開発においては HTTP構成において、たとえ指定したディレクトリーやIFSファイルの名前が正しくても
アクセス権限が無ければ表示することはできません。
WRKLNK コマンドにおいて「9=権限の処理」を指定すれば、そのディレクトリーやストリーム・ファイルの権限を
調べたり保守することができます。

IFS の権限では

*RWX =  読み取りおよび書き込みの権限がある。
*RX  =  読み取り権限のみがある。
*WX  =  書き込み権限のみがある。

というように定められてします。

誤解しやすいのは IFSディレクトリーを自分で作成する場合です。
下記はディレクトリーを CRTDIR コマンドを使って作成している様子ですが「データの共通権限」に上記の
権限を指定して、「オブジェクトの共通権限」は*NONE を指定して作成してください。