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

前へ | 次へ | 目次 | 索引

暗黙のファイル名出力に注意

ユーティリティにファイルを作成させる場合，処理されるファイル名から暗黙に設定される省略時の設定に注意する必要があります。 ODS-2 ボリュームに拡張された名前を持つファイルを誤って置かないよう，どこにファイルを置くのかは意識していてください。

次の例は，ユーザが意図していない場所にファイルを置いてしまった例です。

- アプリケーションまたはユーティリティが ODS-5 拡張ファイル名を ODS-2 (DKA200:) ボリュームに書き込もうとした場合にエラーとなる。次の例を参照。

    $ SHOW DEFAULT
      DKA200:[DOREO]
    $ DUMP /OUTPUT DKA500:[DOREO]This^_is^_a^_file.Dat
    %DUMP-E-OPENOUT, error opening DKA200:[DOREO]THIS^_IS^_A^_FILE.DMP;as output
    -RMS-E-CRE, ACP file create failed
    -SYSTEM-W-BADFILENAME, bad file name syntax

/OUTPUT 修飾子で指定された出力ファイルは，省略時の設定では，省略時ディレクトリ作成される入力ファイルと同じファイル名でファイル・タイプ .DMP のファイルになります。入力ファイル指定が ODS-5 ボリュームにある拡張名のとき，.DMP ファイルは従来の名前を持つ必要があります。その理由は，出力ファイルが ODS-2 ボリュームに書き込まれる予定だからです。その結果として，エラーが発生します。

- バッチ・コマンド・ファイルは，次の条件すべてが真となると 実行に失敗する:

  - ログ・ファイルの作成が明示的あるいは暗黙に指定されている。

  - 明示的あるいは暗黙のログ・ファイル指定が拡張ファイル名 (つまり ODS-2 対応でない)である。

  - ログ・ファイルが ODS-2 ボリューム上に作成されるように指定されている。

  上記の条件がそろうと，ログ・ファイルを作成することができないので，バッチ・コマンド・ファイルは実行されません。論理名 SYS$LOGIN が ODS-2 ボリュームを指し示している場合にこの状況はよく起ります。これは，ログ・ファイルが暗黙に SYS$LOGIN 装置に作成されるからです。さらに，バッチ・ジョブのキュー登録時に通知機能が禁止されていた場合，バッチ・ジョブが実行されなかったことが通知されません。
  この問題を避けるため， ODS-5 拡張ファイル名を持ったコマンド・ファイルをキューに登録する場合には /LOG= 修飾子と ODS-2 対応ログ・ファイル指定を使用します。

### 10.1.2.3 アーキテクチャ関連の注意

ここではシステム・アーキテクチャに関連する Extended File Specifications の問題について説明します。

拡張ファイル名がVAX システムから見えない

VAX システムにログインした場合， ODS-5 ボリュームをVAX にマウントすることはできるが ODS-5 拡張ファイル名は見えません。これに代わって擬似名が表示されます:

- VAX上では, 2バイト Unicode 文字を含んだファイル名を表示しようとした場合，表示される擬似名は次のようになる。
  \PUNICODE\.???

- 正規の ODS-2 名は次のように表示される。
  \PISO_LATIN\.???

たとえば， Alpha および VAX システムで同じディレクトリを表示した場合，次のようになります:

- Alpha システムの場合:

      $ DIRECTORY DPA100:[TEST]

      Directory DPA100:[TEST]

      Accounting^_data.lis;1                  atest.txt;1

- VAX システムの場合:

      $ DIRECTORY DPA200:[TEST]

      Directory DPA200:[TEST]

      \PISO_LATIN\.???                       ATEST.TXT

さらに，VAX 上でのディレクトリの深さは8 (または，ルート論理名により16) に制限されます。

VAX システム上での ODS-5 物理バックアップ

OpenVMS VAX システムでは，BACKUPはボリュームをバックアップする場合， /PHYSICAL 修飾子を指定した場合にのみ，ODS-5 ボリュームをサポートします。 BACKUP /PHYSICAL コマンドにより BACKUP はブロックからブロックへの物理的バックアップを行い, ディスクの構造的内容を無視します。

Alpha システムでは BACKUP /IMAGE または BACKUP /PHYSICAL コマンドが使用できます。

# 10.2 ODS-5 ボリュームに対するアクセスの制御

システム管理者は，次の制限のうち，いずれか片方または両方の強制を選択することもできます。

- VAX ユーザに対して ODS-5 ボリューム上にあるファイルへのアクセスをさせない。

- テストされていないアプリケーションから ODS-5 ディスク上にあるファイルにアクセスさせない (特定のユーザに対しては， ODS-5 ボリュームに対するこのアクセス制御を無効にすることもできる)。

システム管理者は，通常の OpenVMS に一任した制御を使用して，これらの制限事項のどちらをも強制することができます。詳細については，『OpenVMS Guide to System Security』を参照してください。

これ以降の項では，強制できる制限事項の例を示します。

## 10.2.1 VAX ユーザに対する ODS-5 ボリュームへのアクセスの禁止

VAX ノードにある ODS-5 ボリュームへのユーザからのアクセスを禁止するには，次の手順を行います。

1. 次のように，識別子 (例 : VAX_NODE) を定義して， OpenVMS VAX ノードを使っているユーザを特定する。

       $ RUN SYS$SYSTEM:AUTHORIZE

       UAF> ADD /IDENTIFIER VAX_NODE

       %UAF-I-RDBADDMSG, identifier VAX_NODE value %X80010037 added to rights database

2. それぞれの VAX ノードで，システム・ライト・リストに VAX_NODE を追加する。次の例を参照。

       $ SET RIGHTS_LIST /ENABLE /SYSTEM VAX_NODE

   このコマンドの /ENABLE 修飾子で，システム・ライト・リストに VAX_NODE が追加される。
   また，このコマンドを SYSTARTUP_VMS.COM コマンド・プロシージャにも追加する。

3. VAX ノード上のすべての人に対して ODS-5 ボリュームへのアクセス権獲得を防止するために，次のように， VAX_NODE 識別子の保持者からのアクセスを拒否するボリュームに対して，アクセス制御エントリ (ACE) を指定する。

       $ SET SECURITY /CLASS=VOLUME ODS5_DISK /ACL=(ID=VAX_NODE,ACCESS=NONE)

## 10.2.2 テストされていないアプリケーションに対する ODS-5 ボリュームへのアクセスの禁止

ODS-5 ボリュームへのテストされていないアプリケーションからのアクセスを禁止するには，次の手順を行います。

1. 次のように，識別子 (例 : ODS5_UNSAFE) を定義して， ODS-5 ボリュームにアクセスさせたくないアプリケーションを特定する。

       UAF> ADD /IDENTIFIER ODS5_UNSAFE /ATTR=SUBSYSTEM

       %UAF-I-RDBADDMSG, identifier ODS5_UNSAFE value %X80010039 added to rights database

2. 保護されたサブシステム ACE を ODS5_UNSAFE 識別子とともにアプリケーションに付加する。

       $ SET SECURITY /CLASS=FILE SYS$SYSTEM:APPLICATION.EXE -
       _$ /ACL=(SUBSYSTEM,ID=ODS5_UNSAFE)

3. 各 ODS-5 ボリュームに対して， ODS5_UNSAFE 識別子の保持者からの ODS-5 ボリュームへのアクセスを拒否する ACE を次のように付加する。

       $ SET SECURITY /CLASS=VOLUME ODS5_DISK/ ACL=(ID=ODS5_UNSAFE,ACCESS=NONE)

オプションとして，前述の最後の手順で，テストされていないアプリケーションに対して熟練したユーザがアクセスできるように，次の手順を行うことで，この制限を無効にすることもできます。

1. もう 1 つ別の識別子を作成する (例 : ODS5_UNTRAINED)。

       UAF> ADD /IDENTIFIER ODS5_UNTRAINED

       %UAF-I-RDBADDMSG, identifier ODS5_UNTRAINED value %X80010038 added to rights database

2. この識別子を次のようにすべてのユーザに割り当てる。

       UAF> GRANT/IDENTIFIER ODS5_UNTRAINED *

       %UAF-I-GRANTMSG, identifier ODS5_UNTRAINED granted to *

3. 手順 3 の代わりに， ODS5_UNTRAINED 識別子の保持者に対してアクセスを拒否するボリュームに，アクセス制御エントリ (ACE) を指定する。次の例を参照。

       $ SET SECURITY /CLASS=VOLUME ODS5_DISK/ -
       _$ ACL=(ID=ODS5_UNSAFE+ODS5_UNTRAINED,ACCESS=NONE)

   このコマンドによって，ボリュームに対して ODS5_UNSAFE アプリケーションで ODS5_UNTRAINED ユーザがアクセスするのが防止される。

4. ODS-5 ボリュームにあるすべてのアプリケーションを使用させたいユーザに対しては，次のように個別にこの識別子を削除する。

       UAF> REVOKE/IDENTIFIER ODS5_UNTRAINED SHEILA_USER

       %UAF-I-REVOKEMSG, identifier ODS5_UNTRAINED revoked from SHEILA_USER

上記の手順を完了すると，次のようになります。

- 経験の少ないユーザは，ODS-2 ボリュームへのアクセスだけをして，テストされていないアプリケーションを使用できる。

- 熟練したユーザは， ODS-5 ボリュームにあるすべてのアプリケーションをアクセスできる。

# 10.3 DCL コマンドとファイル

次の操作をはじめとして，ファイルに対する多くの操作は， DCL (Digital Command Language) を使用して行います。

操作 | DCL コマンド
--- | ---
装置の属性や保護属性などのディスクおよび磁気テープ・ファイル情報の読み込みとターミナル画面への表示 | SHOW ( 表 10-1 参照)
保護や UIC 情報などのディスク・ファイル属性の変更 | SET ( 表 10-3 参照)
ディレクトリ内容の表示 | DIRECTORY
ファイル内容の表示 | TYPE
ディスクおよび磁気テープ・ボリューム間のファイルのコピー | COPY

大部分の DCL コマンドは，装置がファイル構造を持つことを前提に動作します。なお，この前提を必要としないコマンドについては，『Compaq OpenVMS DCL ディクショナリ』を参照してください。

何回も繰り返すようなファイル操作は，DCL を利用する他に，プログラムを作成することによっても行うことができます。使用する言語は， OpenVMS オペレーティング・システムのサポートする言語であればどの言語でも使用できます。

ファイル内の個々のレコードを操作したい，すなわち，レコード・レベルでファイルにアクセスしたい場合は，OpenVMS のレコード管理サービス (RMS) 機能を内蔵したプログラムを作成してください。レコード・レベルでのファイルの操作に使用する RMS 機能の例については，『OpenVMS Record Management Services Reference Manual』を参照してください。

# 10.4 ファイル情報の取得

DCL の DIRECTORY コマンドを使用すると， ディレクトリに含まれるディスクと磁気テープ・ファイル情報を得ることができます。

    DIRECTORY   [ ファイル指定 [,...]]

DIRECTORY コマンドでコマンド修飾子を使用すると，ディレクトリに含まれるファイル名のリスト以外の情報を得ることもできます。 DIRECTORY コマンドなどの DCL コマンドで使用可能な修飾子についての詳細は，『Compaq OpenVMS DCL ディクショナリ』を参照してください。

この後の例では，論理名 DISK$DOCUMENT が指すディスクにある， [MALCOLM] ディレクトリからの情報の読み込み例を 3 つ紹介します。

例

1.     $ DIRECTORY AVERAGE.*

       Directory DISK$DOCUMENT:[MALCOLM]

       AVERAGE.EXE;6      AVERAGE.FOR;6      AVERAGE.LIS;4     AVERAGE.OBJ;12

       Total of 4 files.

   この例では，AVERAGE ファイルのすべてのファイル・タイプと，各ファイルのバージョン番号のリストを表示している。ここでは各ファイルについてバージョンが 1 つしか示されていないが，複数のバージョンがあれば，それらも示される。

2.     $ DIRECTORY/SIZE/DATE/VERSIONS=1/PROTECTION  AVERAGE

       Directory DISK$DOCUMENT:[MALCOLM]

       AVERAGE.EXE;6       6        10-APR-2000 15:43 (RWED,RWED,RWED,RE)
       AVERAGE.FOR;6       2         2-APR-2000 10:29 (RWED,RWED,RWED,RE)
       AVERAGE.LIS;4       5         9-APR-2000 16:27 (RWED,RWED,RWED,RE)
       AVERAGE.OBJ;6       2         9-APR-2000 16:27 (RWED,RWED,RWED,RE)
       <
       Total of 4 files, 15 blocks.

   この例でもまた，AVERAGE ファイルのすべてのファイル・タイプと，各ファイルのバージョン番号のリストを表示している。/SIZE 修飾子は，各ファイルの大きさを使用ブロック数で示すようにという指示である。 /DATE 修飾子は，ファイルのバージョンの作成日の表示を指示し， VERSIONS=1 修飾子は，表示するファイルのバージョン数を 1 つ (最新バージョン) に制限する。また /PROTECTION 修飾子は，ファイルに対する保護設定内容を表示するようにという指示である。

3.     $ DIRECTORY/FULL/VERSIONS=1 [MALCOLM...]AVERAGE.EXE

       Directory DISK$DOCUMENT:[MALCOLM]

       AVERAGE.EXE;6                 File ID:  (4098,149,0)
       Size:           36/36         Owner:    [DOCUMENTATION,MALCOLM]
       Created:  27-MAY-2000 12:22:26.30
       Revised:  27-MAY-2000 12:22:51.35 (2)
       Expires:   <None specified>
       Backup:    3-JUN-2000 22:03.09
       Effective: <None specified>
       Recording: <None specified>
       File organization:  Sequential
       Shelved state:      Online
       File attributes:    Allocation: 36, Extend: 36, Global buffer count: 0
                           No version limit
       Record format:      Variable length, maximum 255 bytes
       Record attributes:  Carriage return carriage control
       Journaling enabled: None
       File protection:    System:RWED, Owner:RWED, Group:RE, World:
       Access Cntrl List:  None

       Total of 1 file, 36/36 blocks.

       Directory DISK$DOCUMENT:[MALCOLM.TEST]

       AVERAGE.EXE;1                 File ID:  (7714,29,0)
       Size:           36/36         Owner:    [DOCUMENTATION,MALCOLM]
       Created:  15-APR-2000 10:12
       Revised:  15-APR-2000 10:12 (1)
       Expires:   <None specified>
       Backup:   15-APR-2000 22:41
       Effective: <None specified>
       Recording: <None specified>
       File organization:  Sequential
       Shelved state:      Shelved
       File attributes:    Allocation: 36, Extend: 36, Global buffer count: 0
                           No version limit
       Record format:      Variable length, maximum 255 bytes
       Record attributes:  Carriage return carriage control
       Journaling Enabled : None
       File protection:    System:RWED, Owner:RWED, Group:RE, World:
       Access Cntrl List:  None

       Total of 1 file, 36/36 blocks.
       Grand total of 2 directories, 2 files, 72/72 blocks.

   この例では，最上位のディレクトリ [MALCOLM] とその下のサブディレクトリから， AVERAGE.EXE の1つのバージョンについて内容を詳細に表示している。

# 10.5 ファイルの保護

以降の節では，ファイルの保護について説明します。

作業 | 参照箇所
--- | ---
ファイルの所有権と保護情報の表示 | 第 10.5.2 項
ディスク・ファイルの保護 | 第 10.5.3 項
ディスク・ディレクトリの保護 | 第 10.5.4 項
磁気テープ・ファイルの保護 | 第 10.5.5 項

## 10.5.1 ファイルの保護

次のレベルでディスクや磁気テープ媒体上のデータを保護することができます。

保護レベル | 説明
--- | ---
装置レベル | 装置保護属性については， 第 9 章 および『Compaq OpenVMS DCL ディクショナリ』の， DCL コマンド INITIALIZE，MOUNT，SET DEVICES， SET SECURITY/PROTECTION，および SET VOLUME の説明を参照。周辺装置についての詳細は， 第 8 章 を参照。
ボリューム・レベル | ディスクとテープのボリューム単位の保護。詳細は，それぞれ次の節を参照。
ディスク・ボリュームの保護 | 第 9.4.1 項
テープ・ボリュームの保護 | 第 9.4.2 項
ファイル・レベル | ディスク・ファイルとディレクトリ・ファイル単位の保護。 詳細は，それぞれ次の節を参照。
個別ディスク・ファイル | 第 10.5.3 項
ディスク・ボリュームのディレクトリ・ファイル | 第 10.5.4 項

次の方法でディスクやテープ・ボリューム上のデータを保護することができます。

保護タイプ | 参照箇所
--- | ---
UIC に基づく保護コード | 第 12 章
ACL (アクセス制御リスト) | 第 12 章
ISO 9660 形式の媒体保護 | 第 9.4.2 項
ANSI 規格のアクセス保護 (磁気テープのみ) | 第 9.4.2 項

たいていの場合，ファイルの保護は外部から見えませんが，OpenVMS には，ファイルの保護設定を変更するためのツールが用意されています。次のような場合に，ファイルの保護モードを設定したり，ファイルの ACL を変更したりすることができます。

- ファイルの所有者である。

- ファイルに対して制御アクセス権がある。

- SYSPRV 特権を持っている。

- UIC のグループ・パートが MAXSYSGROUP 以下である。

- GRPPRV があり，ファイルと同じグループ UIC を持っている。

前へ | 次へ | 目次 | 索引