# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

### 14.6.1.1 UIC に基づくキュー保護

UIC に基づく保護機構は，キューに対するアクセス権を持つかどうかによってジョブとユーザを限定します。この保護機構がキューに適用される処理を制御する方法は，ファイルなどの他のシステム・オブジェクトを制御する方法と同じです。

キューを作成するとき，キューには所有者 UIC と保護コードが割り当てられます。省略時の所有者は [SYSTEM] ですが，/OWNER_UIC 修飾子で別の所有者を指定できます。

キュー・クラスの，UIC に基づいた省略時のキューの保護は次のとおりです。

        System:Manager,Owner:Delete,Group:Read,World:Submit

/USER 修飾子を使ってジョブがキュー登録されたのでないかぎり，ジョブには，それをキュー登録したプロセスの UIC に等しい所有者 UIC が割り当てられます。そして，システムは，キューのジョブとキューで行われる処理の 1 つ 1 つについて，所有者 UIC ，キューの保護，および要求者の特権をチェックします。

キューについてシステムがチェックする処理は，大きく次の 2 つに分類されます。

操作の適用対象 | チェック項目
--- | ---
ジョブ | キューとジョブの所有者 UIC に対して指定された，読み込みおよび削除方法。
キュー | キューとキューの所有者 UIC に対して指定された，登録および管理保護。

次の表は，キュー・クラスがサポートするアクセスのタイプを示しています。

アクセス・タイプ | 権利が与えられる操作
--- | ---
読み込み | キューまたはキュー内のジョブの機密保護要素を表示できる。
キューへの登録 | キューにジョブを登録できる。
削除 | キューに登録されているジョブを削除するか，またはジョブの要素を変更できる。
管理 | キューに登録されているジョブを操作できる。キューの起動，停止，削除を行うことができ，キューの状態や，機密保護に関係のない要素を変更できる。
制御 | 保護要素とキューの所有者を変更できる。

保護コードによりプロセスに読み込みアクセス権または削除アクセス権が与えられた場合には，キューに登録されているジョブに対してだけ操作を実行できます。しかし，ACL により読み込みアクセス権と削除アクセス権が与えられた場合には，プロセスはキューに登録されているすべてのジョブを操作できます。

必要な特権

キュー・マネージャを停止または起動するには，SYSNAM 特権と OPER 特権が必要です。キューを作成または削除したり，シンビオント定義を変更するには，OPER 特権が必要です。

実行する監査の種類

機密保護管理者がイベント・クラスに対して監査機能を有効に設定している場合には，次のイベントを監査できます。

監査されるイベント | 監査が行われる場合
--- | ---
アクセス | ジョブがキューに登録されたときと，ジョブまたはキューが変更されたとき。
作成 | キューが初期化されるとき。
削除 | プロセスがジョブをキューから削除するとき，またはキュー自体が削除されるとき (キューの削除の監査を有効にするには，キューに対して管理 [M] アクセスの監査機能を有効にする必要がある)。

キューの機密保護についての詳細は，『OpenVMS VAX Guide to System Security』を参照。

### 14.6.1.2 UIC に基づいたキュー保護の設定と表示

UIC に基づくキューの保護を設定または表示するコマンドを次に示します。

コマンド | 説明
--- | ---
INITIALIZE/QUEUE/PROTECTION=( 所有者権[: アクセス権],...) START/QUEUE/PROTECTION=( 所有者権[: アクセス権],...) SET QUEUE/PROTECTION=( 所有者権[: アクセス権],...) | キューの保護を指定する。 所有者権パラメータをシステム (S)，所有者権 (O)，グループ (G)，ワールド (W) のいずれかとして指定する。 アクセス・パラメータを読み込み (R)，登録 (S)，管理 (M)，削除 (D) として指定する。
INITIALIZE/QUEUE/OWNER_UIC= uic START/QUEUE/OWNER_UIC= uic SET QUEUE/OWNER_UIC= uic | キューの UIC の変更を許可する。省略時の UIC は [1,4] である。
SHOW QUEUE/FULL | キューに対して現在設定されている保護も含めて，キューに関する詳細情報を表示する。
SET SECURITY/CLASS=QUEUE/OWNER= uic | キューの所有者要素を変更する。標準形式で UIC を指定する。
SET SECURITY/CLASS=QUEUE /PROTECTION= 所有者権[:アクセス権] | キューの保護コードを変更する。保護コードはオブジェクトの所有者に対する関係をもとに，ユーザに対して許可されるアクセスのタイプを定義する。
SHOW SECURITY/CLASS=QUEUE | キュー・クラスのオブジェクトに対して現在設定されている保護を表示する。

例

1. 次の例は UIC に基づくキューの保護を設定し，そのキューの情報を機密保護情報も含めて表示する。

       $ INITIALIZE/QUEUE/GENERIC=(SYS_QUE1,SYS_QUE2)/
       PROTECTION=(S:M,O:D,G:R,W:R) -
       _$ /OWNER_UIC=[1,8]/RETAIN=ERROR SYS_PRINT
       $ SHOW QUEUE/FULL SYS_PRINT
       Generic printer queue SYS_PRINT/GENERIC=(SYS_QUE1,SYS_QUE2) -
       _$ /OWNER=[1,8]/PROTECTION=(S:M,O:D,G:R,W:R)/RETAIN=ERROR

2. 次の例では，所有者にキューの管理アクセス権および削除アクセス権を与えている。また，ユーザ AGBELL を所有者にしている。所有者 AGBELL はキューを管理できるが，機密保護情報は変更できない。

       $ SET SECURITY/CLASS=QUEUE/OWNER=[AGBELL]/PROTECTION=O:MD  -
       _$ TELEPHONE_QUE
       $ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE
       TELEPHONE_QUEUE object of class QUEUE
            Owner: [INVENTORS,AGBELL]
            Protection: (System: M, Owner: MD, Group: R, World: S)
            Access Control List: <empty>

### 14.6.1.3 ACL に基づくキュー保護

UIC に基づく保護に加えて，ACL (アクセス制御リスト) でキューを保護することもできます。ACL に基づく保護は， UIC グループという単位ではなく，特定のプロジェクト・グループのメンバーがキューに対するアクセス権を必要とする場合にもっと細かいレベルの保護を実現します。

保護オブジェクトに対して ACL を設定する詳細は『OpenVMS Guide to System Security』を参照してください。

### 14.6.1.4 ACL に基づくキュー保護の設定と表示

ACL に基づくキュー保護の設定または表示を行うコマンドを次に示します。

コマンド | 説明
--- | ---
SET SECURITY/ACL=(IDENTIFIER= ( 識別子, ACCESS= アクセス・タイプ) [,...])CLASS=QUEUE | キューの ACL 保護を設定
SHOW QUEUE/FULL | キューの ACL セットが存在すれば表示
SHOW SECURITY/CLASS=QUEUE | VAX システムでキューの ACL セットが存在すれば表示

ACL に基づく機密保護についての詳細は，『OpenVMS Guide to System Security』を参照してください。

例

1. 次の例の SET QUEUE/PROTECTION コマンドでは，非特権ユーザからアクセスされることのないよう，SYS_QUE1 というキューの省略時の UIC に基づく保護設定を変更している。そして，その後の SET SECURITY/ACL コマンドで，ULTRA_LITE または MINUTES 識別コードを持つプロジェクトのメンバーのみキューにアクセスできるようにしている。MINUTES 識別コードを持つユーザは，キューに対する読み込みアクセス権しか持たない。 SHOW QUEUE/FULL コマンドを使用して，機密保護情報も含めてキューに関する情報を表示することができる。

       $ SET QUEUE/PROTECTION=(S,O,G,W)
       $ SET SECURITY/CLASS=QUEUE SYS_QUE1 -
       _$/ACL=((IDENTIFIER=ULTRA_LITE, ACCESS=READ+SUBMIT+MANAGE+DELETE), -
       _$ (IDENTIFIER=MINUTES, ACCESS=READ+SUBMIT))
       $ SHOW QUEUE/FULL SYS_QUE1
       Batch queue SYS_QUE1, stopped
           /BASE_PRIORITY=4 /JOB_LIMIT=1 /OWNER=[1,4] /PROTECTION=(S,O,G,W)
                 (IDENTIFIER=ULTRA_LITE,ACCESS=READ+SUBMIT+MANAGE+DELETE)
                 (IDENTIFIER=MINUTES,ACCESS=READ+SUBMIT)

2. 次の例は，ACL を使用して特定のプロジェクト・グループのメンバに対するキュー・アクセスを制限する方法である。

       $ SET QUEUE/PROTECTION=(S,O,G,W)
       $ SET SECURITY/CLASS=QUEUE SYS_QUE1 -
       _$/ACL=((IDENTIFIER=ULTRA_LITE, ACCESS=READ+SUBMIT+MANAGE+DELETE), -
       _$ (IDENTIFIER=MINUTES, ACCESS=READ))

3. 次の例は，UIC に基づく保護のみを持っているキューを表示し，ユーザ AGBELL に制御アクセス権を ACL と一緒に与える。制御アクセス権を持ったユーザ AGBELL は機密保護情報を変更することができる。

       $ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE
       TELEPHONE_QUEUE object of class QUEUE
            Owner: [INVENTORS,AGBELL]
            Protection: (System: M, Owner: MD, Group: R, World: S)
            Access Control List: <empty>
       $ SET SECURITY/CLASS=QUEUE/ACL=(ID=[AGBELL],ACCESS=CONTROL) TELEPHONE_QUEUE
       $ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE
       TELEPHONE_QUEUE object of class QUEUE
            Owner: [INVENTORS,AGBELL]
            Protection: (System: M, Owner: MD, Group: R, World: S)
            Access Control List:
                 (IDENTIFIER=[INVENTORS,AGBELL],ACCESS=CONTROL)

### 14.6.1.5 キューに対する特権の働き

アカウント特権には，UIC や ACL に基づく保護に関係なくキューへのアクセスを可能にするものがあります。次の表はそうしたアカウント特権と，それらの特権がキューに対して行えるアクセス・タイプをまとめたものです。

特権 | アクセス
--- | ---
OPER | すべてのキューに対する管理アクセス権と制御アクセス権
BYPASS | すべてのキューに対する管理アクセス権と制御アクセス権
READALL | すべてのジョブに対する読み込みアクセス権とキューの機密保護情報に対する読み込みアクセス権
SYSPRV | システム UIC のユーザに対して指定されたアクセス権
GRPPRV | システム UIC またはグループ UIC のユーザに指定されたアクセス権

## 14.6.2 ジョブ保持オプションの使用

ジョブ保持オプションを使用すると，ユーザはジョブが完了した後も，ジョブをキューに保持しておくことができます。システム管理者はジョブ保持オプションを使用して，ジョブが完了した後，キューに登録されているすべてのジョブに関する情報を保存できます。他のユーザが登録したジョブを追跡する場合は，この機能を使用すると便利です。

### 14.6.2.1 ジョブ保持の設定

ユーザはシステム管理者と同様に，ジョブ保持を設定できます。この後の節では，ユーザとシステム管理者がこの作業をどのようにして実行できるかについて説明します。

ユーザ・コマンド

ユーザは PRINT コマンドまたは SUBMIT コマンドに /RETAIN 修飾子を指定することにより，ジョブが完了した後もジョブをキューに保持しておくことを要求できます。次の例を参照してください。

        PRINT/RETAIN
        SUBMIT/RETAIN

システム管理者コマンド

省略時の設定では，キューに対してジョブ保持オプションは設定されません。ジョブ保持オプションを指定するには，次のいずれかのコマンドを使用します。

         INITIALIZE/QUEUE/RETAIN=option
         START/QUEUE/RETAIN=option
         SET QUEUE/RETAIN=option

次のいずれかのオプションを指定できます。

オプション | 説明
--- | ---
ALL | 実行後すべてのジョブをキューに残す(省略時の設定)
ERROR | 異常終了したジョブのみキューに残す

次のコマンドでは，正常終了しなかったすべてのジョブをキューに残すよう指定しています。

    $ SET QUEUE/RETAIN=ERROR BATCH_QUE

たとえば，特定のキューで正常終了しなかったすべてのバッチ・ジョブをオペレータが監視する必要がある場合は，ジョブ保持オプションを使用して，エラー終了したジョブをキューに残すよう指示することができます。これによりオペレータは SHOW QUEUE コマンドを使用して，異常終了したジョブのリストを表示することができます。 ジョブが正常終了しなかった場合には，このメッセージから，エラーが発生した理由を判断できます。また，保持されていたジョブが完了した日付と時刻も表示されます。

キューに対してジョブ保持オプションを指定すると，そのキューのジョブに対してユーザが要求したジョブ保持オプションより優先します。 図 14-10 は，汎用キューに登録されたジョブに対して，ジョブ保持機能がどのように影響するかを示しています。

図 14-10 ジョブ保持の決定

ジョブを削除しないかどうか，またジョブをどこに保持するかは，次の項目で決まります。

- ジョブが動作する実行キューに対する保持設定

- 汎用キューに対する保持設定 (ジョブが汎用キューに登録された場合)

- ジョブの終了状態情報

- ジョブをキュー登録後のユーザからの保持要求 (保持要求があった場合)

キューにジョブを保持した場合は，保持する必要のなくなったジョブを定期的に削除するようにしてください。

### 14.6.2.2 ジョブ保持の期限の指定

ユーザはジョブ保持の期限を指定できます。次の例を参照してください。

    $ SUBMIT/RETAIN=UNTIL=19-MAY-2000:07:31:0.0 MYFILE.DAT

この機能を使えば，キューに保持したジョブを手作業で削除する必要はありません。したがって，/RETAIN 修飾子を使用する場合は，ユーザにこの機能を使用させることをおすすめします。

### 14.6.2.3 ジョブの保持の変更

ジョブに対してユーザが指定した保持の原則を変更するには，次の形式で SET ENTRY コマンドに /RETAIN=オプション修飾子を指定します。

    SET ENTRY/RETAIN=オプション   エントリ番号

次のいずれかのオプションを指定できます。

オプション | 説明
--- | ---
ALWAYS | ジョブの終了状態に関係なくキューにジョブを残す。
DEFAULT | キューの保持オプションの指定通りにキューにジョブを残す ( 第 14.6.2 項 を参照)。キューに保持オプションが設定されていない場合，ジョブは残されない。
ERROR | ジョブが異常終了した場合にのみキューにジョブを残す。
UNTIL= 時間 | ジョブの終了状態に関係なく，指定された時間の間，キューにジョブを残す。このオプションを使うことにより，適当な時間だけキューにジョブを残し，後でジョブを削除する手間を省くことができる。時間値は最初にデルタ時間，次に複合時間，そして最後に絶対時刻と解釈される。時間指定についての詳細は，『Compaq OpenVMS ユーザーズ・マニュアル』を参照。

たとえば次のコマンドは，ジョブ終了後 3 時間を経過するまで 172 というジョブをキューに残します。3 時間を経過したとき，ジョブは自動的に削除されます。

    $ SET ENTRY/RETAIN=UNTIL="+3:00" 172

キューからジョブ保持オプションを削除するには， INITIALIZE/QUEUE コマンド，START/QUEUE コマンド，または SET QUEUE コマンドに対して /NORETAIN 修飾子を指定します。

前へ | 次へ | 目次 | 索引