日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
OpenVMS
|
目次 | 索引 |
11.9.5 共用論理名テーブルの省略時保護 |
オペレーティング・システムから提供される共用論理名テーブルは,省略時の保護設定付きで作成されます。それぞれの共用論理名テーブルに対する省略時保護を 表 11-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 |
11.9.6 共用論理名管理のための特権とアクセス必要条件 |
表 11-7 には,それぞれの共用論理名テーブルにおける論理名の作成,削除,読み込み (変換) に必要な特権とアクセス権を示します。特権,アクセス・タイプ,アクセス制御の詳細については,このマニュアルの 第 10 章 を参照してください。
論理名が存在するテーブル | テーブル名 | 作業 | 必要な特権またはアクセス・タイプ |
---|---|---|---|
ジョブ・テーブル | 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) アクセス |
11.10 論理名テーブルの作成 |
CREATE/NAME_TABLE コマンドは,論理名テーブルを作成し,それをディレクトリ論理名テーブルの1つにカタログ化します。論理名テーブルを識別する,または論理名テーブルに反復的に変換する論理名は,常にディレクトリ論理名テーブルの 1つに入力する必要があります。
11.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 |
共用可能論理名テーブルを作成するには,/PARENT_TABLE 修飾子を使用し,共用可能テーブルを指定します。例を次に示します。
$ CREATE/NAME_TABLE/PARENT_TABLE=LNM$SYSTEM_DIRECTORY NEWTAB |
他の共用可能論理名テーブルを作成する場合と同様の方法で,クラスタ単位の論理名テーブルを作成することができます。クラスタ単位の論理名テーブルは,共用論理名テーブルの特殊なタイプで,すべての共用可能論理名テーブルに適用する特権とアクセス必要条件に従います ( 第 11.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 |
特権を持つユーザは,特殊目的のために共用論理名テーブルを作成できます。例えば,アプリケーションで 1 つ以上の共用論理名テーブルを作成すると,ファイルの記憶位置などの情報をアプリケーション・ユーザとやり取りすることができます。
$ CREATE/NAME_TABLE APPX_FILE_LOCATOR /PARENT=LNM$SYSTEM_DIRECTORY - _$ /PROTECTION = (S:RWD,O:RWD,G:R,W:R) |
共用論理名テーブルを作成するには,次のものを備えている必要があります。
共用論理名テーブルを削除するには,次のものを備えている必要があります。
オペレーティング・システムは,システムまたはユーザが作成する共用論理名テーブルに対して,省略時の保護を提供します。この省略時保護はシステム管理者またはテーブル所有者が変更できるセキュリティ・プロファイルに格納されます。詳細については,『OpenVMS Guide to System Security』を参照してください。
自分が作成したテーブルの省略時保護は,次の方法で変更できます。
共用論理名テーブルのACLは,システムのブート間には保存されません。システムがブートされるごとにこれらの論理名テーブルで ACL を再設定する必要があります。
共用論理名テーブルへのACL保護の適用についての詳細は,『OpenVMS DCL ディクショナリ』の SET SECURITY/ACL コマンドを参照してください。
制限は,所定の論理名テーブルが消費することのできるシステム資源の量を制限するために使用します。プロセス,グループ,およびシステム論理名テーブルには,無限の制限があります。省略時設定により,論理名テーブルを作成すると,これも無限の制限を持つことになります。
制限値を指定して,作成する論理名テーブルのサイズをバイト単位で制限することができます。論理名が作成される前に,そのデータ構造のサイズがテーブルの残りの制限値に対してチェックされます。新しいエントリに使用できる制限値が十分でないと,システムはエラー・メッセージを表示します。
いったんテーブルに制限値を設定してしまうと,変更することはできません。テーブルに余地がなくなった場合は,DEASSIGNコマンドを使用して古い論理名を削除します。これで新しい論理名のためにスペースを解放できます。
次の例では,論理名テーブル ABC が作成され, 500 バイトの制限値を与えられます。
11.10.5 省略時保護の変更
11.10.6 論理名テーブルへの制限値の設定
$ CREATE/NAME_TABLE/QUOTA=500 ABC |
ジョブ論理名テーブルは,共用可能テーブルです。ジョブ論理名テーブルの制限値は,テーブルの作成時に設定されます。制限値は,次の基準の1つまたはそれ以上で決まります。
ジョブ論理名テーブルに対する制限値0は,制限がないことを示します。あらゆる実用的な目的からも,制限は無限にされます。
11.11 論理名変換の順序の変更
LNM$FILE_DEV は,検索される論理名テーブル,および論理名変換の検索順序を定義します。一般には,省略時設定の検索順序を変更する必要はありません。ただし,新しい,プロセス固有の論理名テーブルの名前を追加して, LNM$FILE_DEV で指定されたテーブルより先に検索されるようにしたい場合もあります。同様に,システム管理者が,1 つ以上の共用可能論理名テーブルの名前を追加して, LNM$FILE_DEV で指定されたテーブルより先に検索されるようにしたい場合もあります。
システムが最初に検索する論理名の新しいテーブルで LNM$FILE_DEV のプロセス固有定義を作成するには,次の手順にしたがいます。
次の例では,新しい論理名テーブル,NEWTAB が作成され,最初に検索されるテーブルに NEWTAB をリストして LNM$FILE_DEV のプロセス固有定義が作成されます。
$ CREATE/NAME_TABLE NEWTAB $ DEFINE/TABLE=LNM$PROCESS_DIRECTORY LNM$FILE_DEV - _$ NEWTAB, LNM$PROCESS, LNM$JOB, LNM$GROUP, LNM$SYSTEM |
上記の例では,次の理由からシステムは NEWTAB テーブルを最初に検索します。
LNM$FILE_DEV のシステム定義に新しい論理名テーブルを追加する場合には, SYSNAM または SYSPRV 特権を備えている必要があります。
次の例は, NEWTAB がプロセス固有テーブルではなく共用可能テーブルとして作成される点を除いては,以前のものと同様です。
$ CREATE/NAME_TABLE/PARENT=LNM$SYSTEM_DIRECTORY NEWTAB $ DEFINE/TABLE=LNM$SYSTEM_DIRECTORY LNM$FILE_DEV - _$ NEWTAB, LNM$PROCESS, LNM$JOB, LNM$GROUP, LNM$SYSTEM |
LNM$FILE_DEV によって定義された検索リストから論理名テーブルを削除することもできます。次の例では,LNM$FILE_DEV のプロセス固有定義が,プロセスおよびシステム論理名テーブルだけを含むように作成されます。プロセス固有定義には LNM$JOB および LNM$GROUP が含まれないので,論理名を変換する必要のある後続のコマンドはそのジョブまたはグループ・テーブルを検索しません。
$ DEFINE/TABLE=LNM$PROCESS_DIRECTORY - _$ LNM$FILE_DEV LNM$PROCESS,LNM$SYSTEM |
論理名テーブルを削除するには,それを含むテーブル ( システムまたはプロセス・ディレクトリ論理名テーブル ) とテーブルの名前を指定します。親論理名テーブルを削除すると,子孫のテーブルにあるすべての論理名 ( と子孫のテーブル自身 ) が削除されます。
共用可能論理名テーブルを削除するには,テーブルへの DELETE アクセスまたは SYSPRV 特権を備えている必要があります。
次の例では,コマンドが論理名 WORKFILE を削除します。
11.12 論理名テーブルの削除
$ DEASSIGN WORKFILE |
次の例では,コマンドがプロセス・ディレクトリ・テーブルから論理名テーブル TAX を削除します。
$ DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY TAX |
DCL は,ログイン時にプロセスパーマネント論理名を作成します。これらの名前の定義は,プロセスの期間中にわたり有効です。これらの論理名を再割り当てすることはできません ( DEFINE コマンドに別の等価文字列を指定して ) これらを再定義することはできますが,再定義された名前が後に再割り当てされると,プロセスパーマネント名は再設定されます。
次のプロセスパーマネント論理名が使用できます。
目次 | 索引 |
|