![]() |
データベースの一貫性 | 高度な操作 | ![]() |
Fileshare は、Fileshare サーバへのアクセスを制限できるセキュリティ機能を備えています。Fileshare サーバが制御する特定のデータファイルへのアクセスを制限することもできます。これらの制限を実現するには、次の項目を指定します。
注:Mainframe Express では、Fileshare がサポートされるのは Mainframe Express のコンポーネントで使用する場合のみです。Fileshare を使用するアプリケーションについての情報の一部は、Mainframe Express ユーザには適用されません 。
パスワードシステムを有効化して Fileshare サーバを起動した場合、すべての Fileshare クライアントは、Fileshare サーバに接続するために、有効なユーザ ID を指定する必要があります。デフォルトでは、Fileshare サーバの起動時に Fileshare のパスワードシステムは有効化されていません。
Fileshare パスワードシステムを使用するには、ユーザ ID とパスワードを ファイルハンドラリダイレクタモジュール に渡すようにプログラムし、プログラムが使用するユーザ ID とパスワードを記述したパスワードファイルを Fileshare サーバマシンに作成する必要があります。
次に、Fileshare パスワードシステムを有効化するには、 /pf オプションを使用して、Fileshare サーバにパスワードファイルの名前を指定する必要があります。
Fileshare パスワードシステムを有効化すると 、ユーザプログラムと Fileshare による処理手順は次のようになります (図 5-1 を参照)。
これらの各手順の詳細については、後述します。
Fileshare セキュリティがアクティブな場合は、最初の入出力操作を実行する前に、ユーザプログラムでユーザ ID とパスワードを指定する必要があります。
セキュリティがアクティブでない場合でも、プログラムで Fileshare クライアントにユーザ ID とパスワードを指定することができます。このように設定しておくと、セキュリティがアクティブであるかどうかにかかわらず、プログラムを変更せずに Fileshare を使用できます。
ユーザ ID とパスワードを登録するには、次のように、プログラムでモジュール、 FHRdrPwd を呼び出す必要があります。
call "fhrdrpwd" using function-code,
user-ID,
user-password
end-call
この場合のパラメータ情報は、次のとおりです。
01 function-code pic x comp-x. 01 user-ID pic x(20). 01 user-password pic x(20).
ユーザ ID とパスワードを登録するための ファンクションコード は 1 です。
ユーザ ID とパスワードを登録する方法の例を、次に示します。
working-storage section.
01 function-code pic x comp-x.
01 user-name pic x(20).
01 user-password pic x(20).
...
procedure division.
...
move 1 to function-code
move "UserID" to user-name
move "Password" to user-password
call "fhrdrpwd" using function-code,
user-name,
user-password
end-call
...
open output testfile
...
Fileshare システムが指定する FHRdrPwd モジュールをユーザ独自の FHRdrPwd モジュールに置き換えることができます。そのため、アプリケーションプログラム以外からユーザ ID とパスワードを取得することが可能になります。 詳細については、 『ユーザ独自の FHRdrPwd モジュールの作成』 の項を参照してください 。
デフォルトでは、Fileshare サーバの起動時に、Fileshare パスワードシステムは有効化されていません。パスワードセキュリティを有効化するには、Fileshare サーバの構成ファイルで /pf (パスワードファイル) オプションを使用してください。次にその例を示します。
Windows
/pf password.fil
/s server1
UNIX
-pf password.fil
-s server1
このコマンドでは、Fileshare サーバ、 server1 に対して、Fileshare
パスワードセキュリティを有効化し、パスワードファイル、 password.fil を使用するように指定しています。Fileshare サーバは、このファイルを使用して、Fileshare
クライアントがこの Fileshare サーバに接続する権限があるかを決定します。
パスワードファイルを作成し、ユーザ ID 項目とパスワード項目を追加するには、パスワードファイルのメンテナンスユーティリティを使用します。このユーティリティの詳細については、『パスワードファイルのメンテナンス』 の項を参照してください。
ユーザ ID とパスワードを登録するには、プログラムで ファイルハンドラリダイレクタパスワードモジュール を呼び出し、ユーザ ID とパスワードを指定する必要があります。この呼び出しをユーザプログラムでハードコーディングしない場合は、Fileshare が提供する ファイルハンドラリダイレクタパスワード モジュールを、別の方法で (例えば、画面のプロンプトなど) ユーザ ID とパスワードを取得するモジュールに置き換えることができます。新しいモジュールも ファイルハンドラリダイレクタパスワードモジュール インターフェイスに準拠していなければなりません。具体的には、次のように指定します。
| ファンクションコード
|
動作 |
|---|---|
| = 1: | 指定されたユーザ ID とパスワードを登録します。 |
| = 0: | ユーザ ID とパスワードを返します。 ファイルハンドラリダイレクタ モジュールは、Fileshare サーバに接続しようとする場合、この呼び出しを使用してユーザ ID とパスワードを取得します。 |
新しい ファイルハンドラリダイレクタパスワード モジュールを .gnt ファイル にコンパイルして、次のようにします。
オブジェクトモジュールを作成し、必要に応じて、実行可能アプリケーションにリンクします。
Fileshare パスワードシステムを有効化していない場合は、Fileshare サーバが、Fileshare セキュリティログオン検証モジュール (FSSecLog) を呼び出して、 ログオンする要求 を検証します。
Fileshare で提供される FSSecLog モジュールは、どの Fileshare クライアントにも Fileshare サーバへの ログオン を許可します。Fileshare サーバに ログオン できる Fileshare クライアントを制限する必要がある場合には、呼び出す Fileshare サーバに対して、ユーザ独自の別の FSSecLOG モジュールを使用する必要があります。
例えば、必要に応じて、ユーザ独自のモジュールをオペレーティングシステムのセキュリティと統合することができます。
この場合、ユーザプログラムと Fileshare の処理手順は、次のようになります (図 5-2 を参照) 。
Fileshare サーバは、Fileshare クライアントからの ログオン 要求を検証するために、FSSecLog モジュール (ログオン用 Fileshare セキュリティ検証モジュール) を呼び出して、ユーザ ID とパスワードの正当性を検証します。 FSSecLog モジュールをユーザ独自のモジュールに置き換えると、 ログオン要求 をユーザ独自の条件で検証できます。ただし、作成した新しいモジュールは、次に示す FSSecLog インターフェイスに準拠している必要があります。
call "fsseclog" using user-ID
password
return-status
user-ID
password
return-status |
pic x(20).
pic x(20). pic x comp-x. |
user-ID |
Fileshare クライアントの ユーザ ID |
password |
Fileshare クライアントの パスワード |
user-ID |
変更しません。 |
password |
変更しません。 |
return-status |
Fileshare サーバに対する Fileshare クライアントからのログオンを許可する場合、戻り値を 0 に設定します。0 以外の戻り値は、Fileshare クライアントのログオンが許可されず Fileshare クライアントにエラーを返すことを示します。 |
Windows
作成したユーザ独自の fsseclog モジュールは、Fileshare サーバにリンクさせることができます。 詳細は、『高度な操作』 の章の 『Windows での Fileshare サーバのリンク』 の項を参照してください。
UNIX
生成コード形式でユーザ独自の fsseclog モジュールを作成して、COBOL システム ディレクトリ にあるモジュールと置き換えることができます。
Fileshare サーバは、Fileshare クライアントからファイルオープン要求を受け取るたびに、FSSecOpn モジュール (オープン用 Fileshare セキュリティ検証モジュール) を呼び出します。
Fileshare で提供する オープン用 Fileshare セキュリティ検証 モジュールは、すべての Fileshare クライアントに対して、データファイルへのアクセスを許可します。特定のファイルへのアクセスを制限する必要がある場合は、Fileshare サーバが呼び出す オープン用 Fileshare セキュリティ検証 モジュールをユーザ独自に作成する必要があります。
オープン用 Fileshare セキュリティ検証 モジュールがファイルアクセスを許可した場合は、操作を完了できます。このモジュールがファイルアクセスを許可しない場合は、ファイル状態 9/037 「アクセス拒否」が Fileshare クライアントに返され、その操作は完了できません。
注:このファイルアクセスのセキュリティ検査は、Fileshare パスワードシステムおよびユーザが作成したログオン検証モジュールから独立して行われます。
ユーザのプログラムと Fileshare による処理手順は次のようになります。
Fileshare クライアントからのファイルオープン要求を検証するために、Fileshare サーバは FSSecOpn モジュール (オープン用 Fileshare セキュリティ検証モジュール) を呼び出します 。
Fileshare で提供する オープン用 Fileshare セキュリティ検証 モジュールをユーザ独自のオープン用 Fileshare セキュリティ検証モジュールに置き換えると、ユーザ独自の条件でオープン要求を検証できます。ただし、作成した新しいモジュールは、次に示す オープン用 Fileshare セキュリティ検証モジュールの インターフェイスに準拠している必要があります 。
call "fssecopn" using filename
filename-length
operation-code
user-ID
return-status
filename |
pic x(n). |
filename-length |
pic x(2) comp-x. |
operation-code |
pic x(2) comp-x. |
user-ID |
pic x(20). |
return-status |
pic x comp-x. |
filename |
Fileshare クライアントが 開く データファイルの名前。 |
filename-length
|
filename の長さ。 |
operation-code |
入出力操作を指定する操作コード。これらのコードは、呼び出し可能ファイルハンドラで使用します。呼び出し可能ファイルハンドラの詳細については、Net Express オンラインヘルプを参照してください。 |
user-ID |
ファイルオープン 要求 を出す Fileshare クライアントのユーザ ID。 |
return-status |
ファイルオープン要求を許可する場合の戻り値を 0 に設定します。0 以外の戻り値は、Fileshare クライアントのデータファイルに対するオープン要求が許可されず、Fileshare クライアントにエラーを返すことを示します。 |
Windows
作成したユーザ独自の fssecopn モジュールは、Fileshare サーバにリンクさせることができます。 詳細は、『高度な操作』 の章の 『Windows での Fileshare サーバのリンク』 の項を参照してください 。
UNIX
生成コード形式でユーザ独自の fssecopn モジュールを作成して、COBOL システム ディレクトリ にあるモジュールと置き換えることができます 。
パスワードファイルには、Fileshare パスワードセキュリティが有効化されている場合に Fileshare サーバが使用するユーザ ID とパスワードの詳細情報が格納されます。パスワードファイルの情報は、セキュリティのために暗号化されているので、パスワードファイルのメンテナンスユーティリティを使用しないと、パスワードファイルに対するレコードの追加や削除を行えません。
注:
パスワードファイルの項目を追加または削除するには、次のように、 /pf (パスワードファイル) オプションを使用します。
fs /pf pass.dat [options]
このコマンドにより、 パスワードファイルのメンテナンス機能が起動し、指定したオプションがパスワードファイル、 pass.dat に追加されます。このファイルが存在しない場合は、新しく作成されます。
また、次のオプションも使用することができます。
/u user-ID /pw password
このオプションは、 指定したユーザ ID とパスワードをパスワードファイルに追加します。user-ID と password の両方では 大文字と小文字が区別され 、最大長は 20 字です。
[/e]
このオプションは、 パスワードファイルからレコードを消去します。これは、パスワードの作成後にレコードを削除する唯一の方法です。
例
fs /pf pass.dat /u pkel /pw fishwife
この例では、パスワードファイルのメンテナンス機能を起動し、pass.dat というパスワードファイルを作成または更新しています。さらに、ユーザ ID、 pkel とパスワード、 fishwife も追加しています。
Fileshare マネージャのパスワード制限機能を使用するには、スーパーバイザパスワードを定義する必要があります (『高度な操作』 の章の 『Fileshare マネージャ』 の項を参照してください)。
スーパーバイザパスワードを定義するには、予約済みのユーザ ID である FSVIEW を使用して、パスワードファイルの項目を作成しなければなりません。ユーザ ID である FSVIEW は、大文字で入力する必要があります。
すでに、Fileshare パスワードセキュリティを使用している場合は、既存のファイルに FSVIEW を追加すると、スーパーバイザパスワードが定義されます。
Fileshare パスワードセキュリティを使用していない場合は、FSVIEW ユーザ ID のみを 項目 として持つパスワードファイルを作成することができます。この方法により、Fileshare パスワードセキュリティを有効化しなくても、スーパーバイザパスワードを定義できます。
例
次の例では、パスワードファイル、 password.fil にスーパーバイザパスワード、 abracadabra が定義されます。このファイルが存在しない場合は、新しく作成され ます 。
fs /pf password.fil /u FSVIEW /pw abracadabra
スーパーバイザパスワードを定義した場合は、Fileshare サーバの構成ファイルまたは Fileshare サーバの起動時にコマンド行で、このパスワードファイルを指定しなければなりません。
注:パスワードファイル項目が FSVIEW のみの場合は、パスワードファイルが指定されていても、Fileshare サーバにより Fileshare パスワードセキュリティが無効であることを示すメッセージが表示されます。
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。
![]() |
データベースの一貫性 | 高度な操作 | ![]() |