| 前へ | 次へ | 目次 | 索引 | 
日本語 OpenVMS では,ファイル名,ファイル・タイプが同じファイルをバージョン番号の違いで管理できるのは便利ですが,PC や UNIX のユーザにとっては初めての概念です。うっかりたくさんのバージョンのファイルを作ってしまうことも珍しくありません。
そのようなことを避けるために,バージョンの数を制限する方法があります。バージョンの数が制限されたファイルは,新しいバージョンのファイルが作成される時に,自動的に最も古いバージョンのファイルを削除するので,同じファイル名のファイルが多数作成されてしまうのを避けることができます。
バージョンの数を制限するには,次のようにします。
    $ SET FILE /VERSION_LIMIT=3 LIMITED.TXT;*    
 | 
上記例では,LIMITED.TXT のバージョンの数を 3 つまでに制限します。バージョン番号には必ずアスタリスク(*)を指定してください。アスタリスクを指定しないと,一番新しいバージョンのファイルに対してだけバージョンの数の制限が適用されます。
この場合,LIMITED.TXT のファイル数が 3 つ未満の場合には,通常通りにファイルが作成されます。LIMITED.TXT が既に 3 つ存在する状態で,新しいバージョンの LIMITED.TXT を作成しようとすると,自動的に一番古いバージョンの LIMITED.TXT が削除されます。
SET FILE /VERSION_LIMIT コマンド自身はファイルの削除を行わないので,バージョンの数を設定する前に既に設定したい数よりも多くのバージョンのファイルがある場合には,PURGE コマンドを使って古いバージョンのファイルを削除してください。
★ディレクトリにバージョン数の制限を設定する方法★
特定のディレクトリにバージョン数の制限を設定して,その中に登録されるすべてのファイルのバージョン数の制限をする方法もあります。
ディレクトリにはデフォルト・バージョン・リミットがあり,ディレクトリに新しくファイルが作成されるときに,その制限数が自動的にファイルに適用されます。
ディレクトリのデフォルト・バージョン・リミットを設定するには,次のようにします。
    $ SET DIRECTORY /VERSION_LIMIT=3 TMP.DIR    
 | 
上記例では,TMP ディレクトリのデフォルト・バージョン・リミットを 3 に設定します。設定後,このTMPディレクトリ上で新たにファイルを作成すると,そのファイルのバージョンの数は自動的に 3 までに制限されます。他のディレクトリからファイルをコピーしてきた場合も,自動的に 3 に制限されます。
この章では
通常,ユーザが作成したファイルはユーザが自由に操作できますが,日本語 OpenVMS が作成した特殊なファイルやディレクトリ・ファイルは誤って削除すると問題が生じることがあります。また,他のユーザのファイルを勝手に操作できても困ります。そこで,日本語 OpenVMS はファイルを保護するためのしくみを用意しています。
ここでは,ファイルの保護について説明します。
関連資料
11.1 ファイルの保護コード
日本語 OpenVMS では,個々のファイルに対して,許可された操作と許可されない操作を設定することができます。設定できる操作を 表 11-1 に示します。
| ファイルへのアクセス権 | ファイルに対して許可される操作 | 
|---|---|
| READ | ファイルの読み込み ファイルの内容を読むことができる。この操作が許可されていないと,ファイルの内容を表示したり,印刷したりすることができない。  | 
| WRITE | ファイルへの書き込み ファイルにデータを書き込むことができる。この操作が許可されていないと,データを追加することができない。  | 
| EXECUTE | ファイルの実行/作成 ファイルがイメージ・ファイルであれば実行できる。  | 
| DELETE | ファイルの削除 ファイルを削除することができる。この操作が許可されていないと,ファイルを削除することができない。  | 
また,これらの操作ができるかどうかは,ユーザごとに設定できます。ユーザは,次の 4 つの種類に分類されます。
| ユーザのタイプ | 説明 | 
|---|---|
| SYSTEM(システム) | 特別な権利をもつユーザ。通常は,システム管理者。 | 
| OWNER(所有者) | ファイルやディレクトリの所有者。つまり,ファイルやディレクトリを作成したユーザ。 | 
| GROUP(グループ) | 所有者と同じグループに登録されているユーザ。システム管理者が登録する。 | 
| WORLD(ワールド) | すべてのユーザ。 | 
次に保護コードの指定例を示します。ユーザのタイプやアクセス権は英単語の頭一文字を使用して設定することができます。
この例では,次のように設定されています。
| ユーザの  タイプ  | 
許可される操作 | 
|---|---|
| SYSTEM | 読み込み(READ),書き込み(WRITE),実行(EXECUTE),削除(DELETE) | 
| OWNER | 読み込み(READ),書き込み(WRITE),実行(EXECUTE),削除(DELETE) | 
| GROUP | 読み込み(READ),実行(EXECUTE) | 
| WORLD | なし | 
11.2 ファイルの保護コードを表示する -- DIRECTORY/PROTECTION
ファイルの保護コードを表示するには,次のようにします。
    $ DIRECTORY/PROTECTION ファイル指定    
 | 
11.3 ファイルの保護コードを変更する -- SET PROTECTION
ファイルの保護コードを変更するには,次のようにします。
    $ SET SECURITY/PROTECTION=(保護コード)ファイル指定    
 | 
日本語 OpenVMS はシステム全体に共通なデフォルトの保護コードを持っています。このデフォルトの保護コードはプロセス単位で変更することができ,変更後に作成するファイルには,変更した保護コードが与えられます。
たとえば,新しくファイルを作成すると,そのファイルにはデフォルトの保護コードが与えられます。また,すでに存在しているファイルの新しいバージョンを作成する場合(エディタを使ってファイルを編集しなおす場合など)は,もとのファイルの保護コードが与えられます。
11.4.1 デフォルトの保護コードを表示する -- SHOW PROTECTION
デフォルトの保護コードを表示するには次のようにします。
    $ SHOW PROTECTION    
 | 
11.4.2 デフォルトの保護コードを変更する -- SET PROTECTION
デフォルトの保護コードを変更するには,次のようにします。
    $ SET PROTECTION=(保護コード)/DEFAULT    
 | 
                                                            
 
      $ SET PROTECTION=(S:RWED,O:RWED,G:R,W:R)/DEFAULT 
 
 
      $ SHOW PROTECTION 
 
      SYSTEM=RWED,OWNER=RWED,GROUP=R,WORLD=R 
                                                        
 | 
ディレクトリも 1 つのファイルであり,保護コードが与えられます。ディレクトリの保護はファイルの保護に優先します。つまり,個別ファイルの保護コードである操作が認められていても,ディレクトリの保護コードでその操作が禁止されていればそのファイルの操作はできません。
11.5.1 ディレクトリの保護コード
ディレクトリの保護コードは,1 階層上のディレクトリの保護コードから D(DELETE)を除いたものになっています。ディレクトリの保護コードはディレクトリの作成時に指定することもできます。
    $ CREATE/DIRECTORY/PROTECTION=(保護コード)[ディレクトリ指定]    
 | 
また,ディレクトリの保護コードの参照や変更は一般のファイルと同様に行います。
| ディレクトリへのアクセス権 | ディレクトリに対して許可される操作 | 
|---|---|
| READ | ディレクトリ・ファイルの内容を見る ファイルの一覧を見ることができる  | 
| WRITE | ディレクトリ・ファイルの内容の変更 新しいファイルを登録したり,削除できる  | 
| EXECUTE | ディレクトリの下のファイルを特定してアクセス READ アクセス権がない時だけ意味を持ち,ディレクトリの下のファイルの名前を,ワイルド・カードを使わずにきちんと指定した場合だけ,実行や READ アクセスができる  | 
| DELETE | ディレクトリ・ファイル自身を削除 ディレクトリ・ファイル自身を削除したり RENAME できる  | 
ファイルは,保護コードが与えられて保護されるだけでなく,UIC(User Identification Code)が与えられることによっても保護されます。
UIC はユーザを識別する番号であり,システム管理者によってユーザ単位に与えられます。たとえば,[JVMS,YAMADA] のようになります。ユーザは,システムにログインして利用している間,システム管理者に与えられた UIC を持ちます。
ファイルが作成されると,作成を行ったユーザの持っている UIC がそのファイルに付けられます。これをファイルのオーナ UIC を呼びます。
次のようにすると,UIC を見ることができます。
    $ DIRECTORY /SECURITY ファイル指定    
 | 
UIC は,次のような形式になっています。
| [g,m] | g : グループ番号 0 〜 37776 の 8 進数 m : メンバ番号 0 〜 177776 の 8 進数  | 
| [member] | member : メンバ名 1 〜 31 文字の文字列 | 
| [group,member] | group : グループ名 1 〜 31 文字の文字列 | 
数字形式の UIC [g,m] と文字形式の UIC [member] は 1 対 1 に対応します。グループ名(group)は,システム管理者がグループ番号に対応づけて付与します。
ファイルの作成者の UIC と,そのファイルにアクセスするユーザの UIC との比較により,ユーザは次の 4 つのタイプに分類できます。
| ユーザのタイプ | 条件 | 
|---|---|
| SYSTEM | 1 〜 10(8 進数)のグループをもつユーザ(メンバ番号は無視) | 
| OWNER | ファイルの UIC と同じ UIC をもつユーザ(グループ番号,メンバ番号ともに一致) | 
| GROUP | ファイルの UIC のグループ番号と同じグループ番号の UIC をもつユーザ(メンバ番号は無視) | 
| WORLD | すべてのユーザ | 
ユーザは,必要に応じてファイルに ACL(Access Control List)という保護情報を付加することができます。ACL を利用すると,UIC ベースの保護より,さらに細かい保護設定ができます。
UIC や ACL についての説明は『OpenVMS システム管理者マニュアル』,『OpenVMS ユーザーズ・マニュアル』等を参照してください。
| 前へ | 次へ | 目次 | 索引 |