WRKLNK
と FTP
が理解できても IFS上に管理したいディレクトリーを作成したり管理するのには、
まだもう少し学習が必要です。
肝心のディケクトリーやストリーム・ファイルにアクセス権限が無いとやはりアクセスすることはできません。ディレクトリーを作成するには CRTDIR
コマンドを使って
ディレクトリーの作成 (CRTDIR) 選択項目を入力して,実行キーを押してください。 ディレクトリー . . . . . . . . > '/MYDIR' データの共通認可 . . . . . . . > *RWX 名前 , *INDIR, *RWX, *RW... オブジェクトの共通認可 . . . . > *NONE *INDIR, *NONE, *ALL... 値の続きは+ オブジェクトの値の監査 . . . . *SYSVAL *SYSVAL, *NONE, *USRPRF...
のようにして作成します。
データの共通認可として *RWX
は読み書きを許可することを意味しています。
読み取りだけの許可であれば *RW になりますが、一般には *RWX
にしておいて共通認可は
*NONE として設定します。
ディレクトリーやストリーム・ファイルの機密保護は WRKLNK
コマンドで9= 権限の処理 の
オプションによって次のように表示されます。
権限の処理 オブジェクト . . . . . . . . . : /AS400-NET.USR 所有者 . . . . . . . . . . . . : QTR 1次グループ . . . . . . . . . : *NONE 権限リスト . . . . . . . . . . : *NONE オプションを入力して,実行キーを押してください。 1= ユーザーの追加 2= ユーザー権限の変更 4= ユーザーの除去 データ --- オブジェクト権限 --- OPT ユーザー 権限 存在 MGT 変更 REF *PUBLIC *RWX X X X X QTR *RWX X X X X
*PUBLIC
に *RWX
として許可されていますので、すべてのユーザーに公開可能に見えますが System i の機密保護レベルが 40 以上である場合は、ユーザー QTMHHTTP
にも権限を与える必要がある場合があります。
QTMHHTTP
とは Webサーバーとして System i を使用する場合、ブラウザ経由でHTTPサーバーから
ログインしたユーザー はすべて QTMHHTTP
という 特殊な固定のユーザー です。
たとえCGIでログイン画面を作成したところで、それもユーザー QTMHHTTPです。
このユーザー QTMHHTTP はパスワードは持ちませんが QTMHHTTP ではサイン・オン画面からログイン
することもできません。
今までユーザー・レベルの機密保護を考慮されていた場合は、Webからのログインはすべて
QTMHHTTP として権限であることを考慮しなくてはなりません。
すると折角、社内でユーザー別に設定した機密保護は全く役に立たないのでしょうか?
一般にはそのように思われがちですが、とっておきの方法を後でご紹介致します。
ディレクトリーやストリーム・ファイルを作成しても、それをテープなどに保管したり復元する方法も
すぐに必要に迫られます。ディレクトリーやストリーム・ファイルは SAVLIB
や SAVOBJ
コマンドでは保管することはできません。(どのライブラリ・システムにも属していないのですから当然のことなのですが)
ディリクトリーやストリーム・ファイルの保管/復元には 3文字コマンド と呼ばれる特殊なコマンドを
使用します。まず最初に
CRTSAVF FILE(MYLIB/SAVEIFS) AUT(*ALL)
のようにして保管ファイル (MYLIB/SAVEIFS
) という*SAVF
をひとつ作成します。
次に SAV
+ F4キー を押して
オブジェクトの保管 (SAV) 選択項目を入力して,実行キーを押してください。 装置 . . . . . . . . . . . . . > '/QSYS.LIB/MYLIB.LIB/SAVEIFS.FILE' 値の続きは+ オブジェクト : 名前 . . . . . . . . . . . . > '/A001/*' 組み込みまたは除外 . . . . . *INCLUDE *INCLUDE, *OMIT 値の続きは+ ディレクトリー の サブツリー . . . . . . *ALL *ALL, *DIR, *NONE, *OBJ, *STG 活動状態保管 . . . . . . . . . *NO *NO, *YES, *SYNC 出力 . . . . . . . . . . . . . *NONE
のように指定するとディレクトリー /A001
以下のストリーム・ファイルや下位階層のディレクトリーもすべて SAVEIFS
の中に保管されます。
もちろんターゲット・リリースの指定が必要であれば行ってください。
これによってライブラリー・システムの *SAVF
である SAVEIFS
に保管されたわけですから、後はテープにでも
お好きな媒体への保管が可能になります。
オブジェクトの復元 (RST) 選択項目を入力して,実行キーを押してください。 装置 . . . . . . . . . . . . . > '/QSYS.LIB/MYLIB.LIB/SAVEIFS.FILE' 値の続きは+ オブジェクト : 名前 . . . . . . . . . . . . > '/A001/*' 組み込みまたは除外 . . . . . *INCLUDE *INCLUDE, *OMIT 新しいオブジェクト名 . . . . *SAME 値の続きは+ ディレクトリー の サブツリー . . . . . . *ALL *ALL, *DIR, *NONE, *OBJ, *STG 出力 . . . . . . . . . . . . . *NONE オブジェクト差異可能 . . . . . > *ALL *NONE, *ALL, *AUTL, *OWNER.
復元のときは、この逆だけなのですが 「オブジェクト差異可能」 を *ALL
に指定するように習慣づけてください。
この指定によって同じストリーム・ファイルやディレクトリーが復元前に既に存在していたとしても上書きされます。
この指定がないと 復元したつもりであっても 前の古いオブジェクトのままであり、それが障害の原因ともなりかねませんのでご注意してください。