# OpenVMS
ユーザーズ・マニュアル

前へ | 次へ | 目次 | 索引

## 13.9.5 共用論理名テーブルの省略時保護

オペレーティング・システムから提供される共用論理名テーブルは，省略時の保護設定付きで作成されます。それぞれの共用論理名テーブルに対する省略時保護を 表 13-6 に示します。

表 13-6 共用論理名テーブルの省略時保護
テーブルの種類 | テーブル名 | 省略時の保護
--- | --- | ---
ジョブ・テーブル | LNM$JOB_ xxxxxxxx 1 | SYSTEM=RWCD, OWNER=RWCD, GROUP=NO ACCESS, WORLD=NO ACCESS
グループ・テーブル | LNM$GROUP_ gggggg 2 | SYSTEM=RWCD, OWNER=R, GROUP=R, WORLD=NO ACCESS
システム・テーブル | LNM$SYSTEM_TABLE | SYSTEM=RWC, OWNER=RWC, GROUP=R, WORLD=R
クラスタ単位システム・テーブル | LNM$SYSCLUSTER_TABLE | SYSTEM=RWC, OWNER=RWC, GROUP=R, WORLD=R
クラスタ単位親テーブル | LNM$CLUSTER_TABLE | SYSTEM=RWC, OWNER=RWC, GROUP=R, WORLD=R
ユーザが作成したテーブル | ユーザが指定 | SYSTEM=RWCD, OWNER=RWCD, GROUP=NO ACCESS, WORLD=NO ACCESS

1文字列 xxxxxxxx は，ジョブ情報ブロックのアドレスである8桁の16進数を表す。
2文字列 gggggg は，プロセスの UICグループ番号を含む6桁の8進数を表す。

## 13.9.6 共用論理名管理のための特権とアクセス必要条件

表 13_7 には，それぞれの共用論理名テーブルにおける論理名の作成，削除，読み込み (変換) に必要な特権とアクセス権を示します。特権，アクセス・タイプ，アクセス制御の詳細については，このマニュアルの 第 19 章 を参照してください。

表 13-7 共用論理名の作業に必要な特権またはアクセス・タイプ
論理名が存在するテーブル | テーブル名 | 作業 | 必要な特権またはアクセス・タイプ
--- | --- | --- | ---
ジョブ・テーブル | LNM$JOB_ xxxxxxxx 1 | 論理名の作成または削除 | 論理名を作成する，または削除するテーブルに対して，WRITE (W) アクセス
|  | 論理名の読み込み (変換) | 論理名が存在するテーブルに対して，READ (R) アクセス
グループ・テーブル | LNM$GROUP_ gggggg 2 | 論理名の作成または削除 | 論理名を作成する，または削除するテーブルに対して， WRITE (W) アクセス，または，GRPNAM 特権
|  | 論理名の読み込み (変換) | 論理名が存在するテーブルに対して，READ (R) アクセス
システム・テーブル | LNM$SYSTEM_TABLE | 論理名の作成または削除 | システムの UIC グループ番号 (0 からシステム・パラメータ MAXSYSGROUP までの間)，または， SYSNAM 特権
|  | 論理名の読み込み (変換) | 論理名が存在するテーブルに対して，READ (R) アクセス
クラスタ単位システム・テーブル | LNM$SYSCLUSTER_TABLE | 論理名の作成または削除 | システムの UIC グループ番号 (0 からシステム・パラメータ MAXSYSGROUP までの間)，または， SYSNAM 特権
|  | 論理名の読み込み (変換) | 論理名が存在するテーブルに対して，READ (R) アクセス
クラスタ単位親テーブル | LNM$CLUSTER_TABLE | 論理名の作成または削除 | システムの UIC グループ番号 (0 からシステム・パラメータ MAXSYSGROUP までの間)
|  | 論理名の読み込み (変換) | 論理名が存在するテーブルに対して，READ (R) アクセス
ユーザ作成 | ユーザ指定 | 論理名の作成または削除 | 論理名を作成する，または削除するテーブルに対して，WRITE (W) アクセス
|  | 論理名の読み込み (変換) | 論理名が存在するテーブルに対して，READ (R) アクセス

1文字列 xxxxxxxx は，ジョブ情報ブロックのアドレスである8桁の16進数を表す。
2文字列 gggggg は，プロセスの UICグループ番号を含む6桁の8進数を表す。

# 13.10 論理名テーブルの作成

CREATE/NAME_TABLE コマンドは，論理名テーブルを作成し，それをディレクトリ論理名テーブルの1つにカタログ化します。論理名テーブルを識別する，または論理名テーブルに反復的に変換する論理名は，常にディレクトリ論理名テーブルの 1つに入力する必要があります。

## 13.10.1 プロセス固有の論理名テーブルの作成

プロセスに固有の論理名テーブルを作成するには，テーブルを LNM$PROCESS_DIRECTORY (省略時設定) に作成します。

ディレクトリ・テーブルの名前には1〜31の文字を含むことができます。大文字英数字，ドル記号 ($)，アンダスコア (_) だけが有効です。小文字のテーブル名を指定すると，自動的に大文字に変換されます。

次の例では， TAXという名前のプロセス固有論理名テーブルを作成し，論理名 CREDIT の定義をテーブル内に配置し，テーブルの作成をチェックします。 SHOW LOGICAL/TABLE コマンドにより，表示する論理名テーブルを指定することができます。

    $ CREATE/NAME_TABLE TAX
    $ DEFINE/TABLE=TAX CREDIT [ACCOUNTS.CURRENT]CREDIT.DAT
    $ SHOW LOGICAL/TABLE=TAX CREDIT
     "CREDIT" = "[ACCOUNTS.CURRENT]CREDIT.DAT"  (TAX)

ファイルのフックアップ中に新しいテーブルをシステムに自動的に検索させるようにするため，次の例に示すように LNM$PROCESS を再定義することができます。

    $ DEFINE/TABLE=LNM$PROCESS_DIRECTORY LNM$PROCESS LNM$PROCESS_TABLE, TAX

## 13.10.2 共用可能論理名テーブルの作成

共用可能論理名テーブルを作成するには，/PARENT_TABLE 修飾子を使用し，共用可能テーブルを指定します。例を次に示します。

    $ CREATE/NAME_TABLE/PARENT_TABLE=LNM$SYSTEM_DIRECTORY NEWTAB

## 13.10.3 クラスタ単位の論理名テーブルの作成

他の共用可能論理名テーブルを作成する場合と同様の方法で，クラスタ単位の論理名テーブルを作成することができます。クラスタ単位の論理名テーブルは，共用論理名テーブルの特殊なタイプで，すべての共用可能論理名テーブルに適用する特権とアクセス必要条件に従います ( 第 13.10.4 項 を参照してください)。

次の例では，クラスタ単位の論理名テーブルを作成する方法を示します。

    $ CREATE/NAME_TABLE/PARENT_TABLE=LNM$CLUSTER_TABLE -
    _$ new_clusterwide_logical_name_table

新しいクラスタ単位の論理名テーブルに常駐するクラスタ単位の論理名を作成するには，次の例に示すように， DEFINE コマンドで新しいクラスタ単位の論理名を定義して，新しいテーブルの名前を /TABLE 修飾子で指定します。

    $ DEFINE/TABLE=new_clusterwide_logical_name_table logical_name -
    _$ equivalence_string

## 13.10.4 特権とアクセスの必要条件

特権を持つユーザは，特殊目的のために共用論理名テーブルを作成できます。例えば，アプリケーションで 1 つ以上の共用論理名テーブルを作成すると，ファイルの記憶位置などの情報をアプリケーション・ユーザとやり取りすることができます。

    $ CREATE/NAME_TABLE APPX_FILE_LOCATOR /PARENT=LNM$SYSTEM_DIRECTORY -
    _$ /PROTECTION = (S:RWD,O:RWD,G:R,W:R)

共用論理名テーブルを作成するには，次のものを備えている必要があります。

- 親テーブルへの CREATE (C) アクセス

- SYSPRV 特権または LNM$SYSTEM_DIRECTORYへの WRITE (W) アクセス

共用論理名テーブルを削除するには，次のものを備えている必要があります。

- テーブルへの DELETE (D) アクセス

- SYSPRV 特権または LNM$SYSTEM_DIRECTORY への WRITE (W) アクセス

## 13.10.5 省略時保護の変更

オペレーティング・システムは，システムまたはユーザが作成する共用論理名テーブルに対して，省略時の保護を提供します。この省略時保護はシステム管理者またはテーブル所有者が変更できるセキュリティ・プロファイルに格納されます。詳細については，『OpenVMS Guide to System Security』を参照してください。

自分が作成したテーブルの省略時保護は，次の方法で変更できます。

- DCL の CREATE/NAME_TABLE コマンドで /PROTECTION 修飾子を使用する方法。このコマンドでは UICベースの保護を設定できる。

- すでに作成されているテーブルに対して， ACL エディタまたは SET SECURITY/ACL/OBJECT_TYPE=LOGICAL_NAME_TABLE コマンドでACL保護を適用する方法。

共用論理名テーブルのACLは，システムのブート間には保存されません。システムがブートされるごとにこれらの論理名テーブルで ACLを再設定する必要があります。

共用論理名テーブルへのACL保護の適用についての詳細は，『Compaq OpenVMS DCL ディクショナリ』の SET SECURITY/ACL コマンドを参照してください。

## 13.10.6 論理名テーブルへの制限値の設定

制限は，所定の論理名テーブルが消費することのできるシステム資源の量を制限するために使用します。プロセス，グループ，およびシステム論理名テーブルには，無限の制限があります。省略時設定により，論理名テーブルを作成すると，これも無限の制限を持つことになります。

制限値を指定して，作成する論理名テーブルのサイズをバイト単位で制限することができます。論理名が作成される前に，そのデータ構造のサイズがテーブルの残りの制限値に対してチェックされます。新しいエントリに使用できる制限値が十分でないと，システムはエラー・メッセージを表示します。

いったんテーブルに制限値を設定してしまうと，変更することはできません。テーブルに余地がなくなった場合は，DEASSIGNコマンドを使用して古い論理名を削除します。これで新しい論理名のためにスペースを解放できます。

次の例では，論理名テーブルABCが作成され， 500バイトの制限値を与えられます。

    $ CREATE/NAME_TABLE/QUOTA=500 ABC

### 13.10.6.1 ジョブ・テーブルの制限値の設定

ジョブ論理名テーブルは，共用可能テーブルです。ジョブ論理名テーブルの制限値は，テーブルの作成時に設定されます。制限値は，次の基準の1つまたはそれ以上で決まります。

- システム利用者登録ファイルSYSUAF.DATでユーザに設定されているJTQUOTA値 (プロセスによって起動された最初のイメージがシステム・イメージLOGINOUTであった場合)

- Create Process ($CREPRC) システム・サービスへの呼び出しで指定される PQL$_JTQUOTA 制限リスト値

- 独立プロセスを作成するために使用するRUNコマンド上の /JOB_TABLE_QUOTA 修飾子の値

- SYSGEN パラメータ PQL_DJTQUOTA (先行する条件のいずれも適用しない場合)。このパラメータの標準の省略時設定値は， 1024 バイトですが，システム・マネージャはこれを変更することができます。 System Generation ユーティリティ (SYSGEN) は，パラメータ PQL_DJTQUOTA (省略時設定のジョブ論理名テーブルの制限) および PQL_MJTQUOTA (最小ジョブ論理名テーブルの制限) の値を表示して設定するために使用されます。

ジョブ論理名テーブルに対する制限値0は，制限がないことを示します。あらゆる実用的な目的からも，制限は無限にされます。

前へ | 次へ | 目次 | 索引