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


前へ 次へ 目次 索引


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

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

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

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

10.4.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.4.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 
    

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

10.5 DCL コマンドとファイル

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

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

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

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

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

10.6 ファイル情報の取得

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.6.1 アクセス日付の表示

POSIX 準拠のタイムスタンプを ODS-5 ディスク上でサポートするために, OpenVMS Alpha バージョン 7.3-1 には,次の 3 つの新しいファイル属性が用意されています。

ファイル・ヘッダの変更は,ファイルが実際にアクセスされた場合を除き, ATTDATE と記録されます。REVDATE ACP-QIO 属性は,最新の MODDATE と ATTDATE タイムスタンプです。新しい ACP-QIO 属性は,保存された REVDATE を返します。

ファイルを閉じたときに, "norecord" が設定されていると, ACCDATE と REVDATE は変更されません。設定されていない場合は,データがファイルから読み取られてファイルを閉じたときに,ファイルのアクセス日付が更新されます。データがファイルに書き込まれた場合は,ファイルを閉じたときに,ファイルの変更日が更新されます。

アクセス日付はディスクに書き出す必要があるので,これらの新しいファイル属性が使用されると,パフォーマンスに影響します。システム管理者は,次のコマンドを使用してアクセス日付サポートの有効/無効や,アクセス日付を変更する頻度を制御します。


$  SET VOLUME/VOLUME_CHARACTERISTICS=([[NO]]HARDLINKS,][[NO[ACCESS_DATES[=$deltatime]])

ファイルへのアクセスが頻繁な場合,パフォーマンスへの影響を制限するために,小さな変更に関してはアクセス時刻の更新を抑制することができます。新しいアクセス時刻が有意かどうかは,デルタ時刻によって判定されます。

SET VOLUME/VOLUME_CHARACTERISTICS コマンドを使用してアクセス日付を設定する方法の例については, 第 10.6.1.1 項 を参照してください。

10.6.1.1 DCL のアクセス日付

アクセス日付の自動更新を有効にするには,SET VOLUME/VOLUME_CHARACTERISTICS コマンドを使用します。


$ SET VOLUME/VOLUME_CHARACTERISTICS=ACCESS_DATES=[deltatime] NODE$COE1 

deltatime の省略時の値は 1 秒です。この値は, "紀元からの経過秒数(seconds since the EPOCH)" というPOSIX st_atimeが要求する時刻インタフェースに準拠します。 1 秒ごとに更新する必要がないサイトの場合は,これよりも大きなデルタ時刻を選択して,オーバヘッドを減少させることができます。

また,INITIALIZE/VOLUME_CHARACTERISTICS=ACCESS_DATES コマンドを使用して,アクセス日付の自動更新を有効にすることもできます。これには,次のコマンドを実行します。


$ INITIALIZE/VOLUME_CHARACTERISTICS=ACCESS_DATES NODE$COE1
$ MOUNT NODE$COE1

ボリュームでのアクセス日付サポートを無効にするには, SET VOLUME/VOLUME_CHARACTERISTICS=NOACCESS_DATES コマンドを使用します。 SET VOLUME/VOLUME_CHARACTERISTICS=NOACESS_DATES コマンドは,コマンドが実行されているノードでのみ有効です。他のノードは,次にボリュームがマウントされるときまで,変更による影響はありません。

10.6.1.2 日付の表示

DCL コマンド DIRECTORY と DUMP/HEADER は,新しいタイムスタンプをサポートします。新しいタイムスタンプを表示するには,DIRECTORY/DATE コマンドを使用します。


$ DIRECTORY/DATE=ACCESSED

/DATE=ACCESSED 修飾子は最後のアクセス日付,すなわち最後にデータがファイルから読み取られた日付を指定します。他の 2 つの修飾子は,新しいタイムスタンプに関する情報を表示します。最後に属性が変更された日付を指定するには, /DATE=ATTRIBUTES 修飾子を使用します。またサイトにデータが変更された日付を指定するには /DATE=DATA_MODIFIED 修飾子を使用します。

10.7 ファイルの保護

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

作業 参照箇所
ファイルの所有権と保護情報の表示 第 10.7.2 項
ディスク・ファイルの保護 第 10.7.3 項
ディスク・ディレクトリの保護 第 10.7.4 項
磁気テープ・ファイルの保護 第 10.7.5 項

10.7.1 ファイルの保護

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

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

ディスク・ボリュームの保護 第 9.4.1 項
テープ・ボリュームの保護 第 9.4.2 項

ファイル・レベル ディスク・ファイルとディレクトリ・ファイル単位の保護。

詳細は,それぞれ次の節を参照。

個別ディスク・ファイル 第 10.7.3 項
ディスク・ボリュームのディレクトリ・ファイル 第 10.7.4 項

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

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

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


前へ 次へ 目次 索引