ファイルの保護コード

日本語 OpenVMS では,個々のファイルに対して,許可された操作と許可されない操作を設定することができます。設定できる操作を次の表に示します。

ファイル保護のために設定できる操作
ファイルへのアクセス権 ファイルに対して許可される操作
READ ファイルの読み込み

ファイルの内容を読むことができる。この操作が許可されていないと,ファイルの内容を表示したり,印刷したりすることができない。

WRITE ファイルへの書き込み

ファイルにデータを書き込むことができる。この操作が許可されていないと,データを追加することができない。

EXECUTE ファイルの実行/作成

ファイルがイメージ・ファイルであれば実行できる。

DELETE ファイルの削除

ファイルを削除することができる。この操作が許可されていないと,ファイルを削除することができない。

また,これらの操作ができるかどうかは,ユーザごとに設定できます。ユーザは,次の 4 つの種類に分類されます。

ユーザのタイプ 説明
SYSTEM (システム) 特別な権利をもつユーザ。通常は,システム管理者。
OWNER (所有者) ファイルやディレクトリの所有者。つまり,ファイルやディレクトリを作成したユーザ。
GROUP (グループ) 所有者と同じグループに登録されているユーザ。システム管理者が登録する。
WORLD (ワールド) すべてのユーザ。

次に保護コードの指定例を示します。ユーザのタイプやアクセス権は英単語の頭一文字を使用して設定することができます。

保護コードの指定例

この例では,次のように設定されています。

ユーザの
タイプ
許可される操作
SYSTEM 読み込み (READ),書き込み (WRITE),実行 (EXECUTE),削除 (DELETE)
OWNER 読み込み (READ),書き込み (WRITE),実行 (EXECUTE),削除 (DELETE)
GROUP 読み込み (READ),実行 (EXECUTE)
WORLD なし

ファイルの保護コードを表示する -- DIRECTORY/PROTECTION

ファイルの保護コードを表示するには,次のようにします。


    $ DIRECTORY/PROTECTION ファイル指定    

ファイルの保護コードを変更する -- SET PROTECTION

ファイルの保護コードを変更するには,次のようにします。


    $ SET SECURITY/PROTECTION=(保護コード) ファイル指定    

デフォルトの保護コード

日本語 OpenVMS はシステム全体に共通なデフォルトの保護コードを持っています。このデフォルトの保護コードはプロセス単位で変更することができ,変更後に作成するファイルには,変更した保護コードが与えられます。

たとえば,新しくファイルを作成すると,そのファイルにはデフォルトの保護コードが与えられます。また,すでに存在しているファイルの新しいバージョンを作成する場合(エディタを使ってファイルを編集しなおす場合など)は,もとのファイルの保護コードが与えられます。

デフォルトの保護コードを表示する -- SHOW PROTECTION

デフォルトの保護コードを表示するには次のようにします。


    $ SHOW PROTECTION    

デフォルトの保護コードを変更する -- 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 つのファイルであり,保護コードが与えられます。ディレクトリの保護はファイルの保護に優先します。つまり,個別ファイルの保護コードである操作が認められていても,ディレクトリの保護コードでその操作が禁止されていればそのファイルの操作はできません。

ディレクトリの保護コード

ディレクトリの保護コードは,1 階層上のディレクトリの保護コードから D(DELETE) を除いたものになっています。ディレクトリの保護コードはディレクトリの作成時に指定することもできます。


    $ CREATE/DIRECTORY/PROTECTION=(保護コード) [ディレクトリ指定]    

また,ディレクトリの保護コードの参照や変更は一般のファイルと同様に行います。

ディレクトリへのアクセス権 ディレクトリに対して許可される操作
READ ディレクトリ・ファイルの内容を見る

ファイルの一覧を見ることができる

WRITE ディレクトリ・ファイルの内容の変更

新しいファイルを登録したり,削除できる

EXECUTE ディレクトリの下のファイルを特定してアクセス

READ アクセス権がない時だけ意味を持ち,ディレクトリの下のファイルの名前を,ワイルド・カードを使わずにきちんと指定した場合だけ,実行や READ アクセスができる

DELETE ディレクトリ・ファイル自身を削除

ディレクトリ・ファイル自身を削除したり RENAME できる



ファイルの保護 - UIC -

ファイルは,保護コードが与えられて保護されるだけでなく, UIC (User Identification Code) が与えられることによっても保護されます。

UIC はユーザを識別する番号であり,システム管理者によってユーザ単位に与えられます。たとえば,[JVMS,YAMADA] のようになります。ユーザは,システムにログインして利用している間,システム管理者に与えられた UIC を持ちます。

ファイルが作成されると,作成を行ったユーザの持っている UIC がそのファイルに付けられます。これをファイルのオーナ UIC を呼びます。

次のようにすると,UIC を見ることができます。


    $ DIRECTORY /SECURITY ファイル指定    

UIC は,次のような形式になっています。

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 ユーザーズ・マニュアル』等を参照してください。