Solaris ネーミングの管理

テーブル、列、およびエントリのセキュリティ

NIS+ テーブルに対するアクセス権を指定する方法には、次の 3 通りあります。

列とエントリ (行) が交差する部分をフィールドといいます。データ値はすべてこの交差領域、つまりフィールドに入力します。

列とエントリレベルのアクセス権を持っていると、テーブルレベルのアクセス権の制限があっても個々の行と列にアクセスできますが、テーブル全体へのアクセス権以上に列とエントリレベルの権限を制限することはできません。

テーブル、列、エントリの例

列またはエントリレベルのアクセス権は、追加アクセスを次の 2 つの方法で提供できます。1 つは権限を持つ主体を増やす方法で、もう 1 つは同じ主体に権限を追加する方法です。もちろん、これらを組み合わせることも可能です。以下にその例を示します。

テーブルオブジェクトが、そのテーブルの所有者に対して読み取り権を与えたとします。

表 10-1 テーブル、列、エントリの例 1

 

未認証 

所有者 

グループ 

その他 

テーブルのアクセス権 

---- 

r---

---- 

---- 

このことは、テーブルの所有者だけがテーブル全体の内容を読み取れることを意味します。所有者でない主体は、アクセスできません。テーブルのエントリ 2 にグループクラスに対して読み取り権を与えることができます。

表 10-2 テーブル、列、エントリの例 2

 

未認証 

所有者 

グループ 

その他 

テーブルのアクセス権 

----

r---

----

---- 

エントリ 2 のアクセス権 

----

----

r---

---- 

テーブルの内容をすべて読み取れるのは所有者だけですが、このテーブルのグループのメンバーであれば、この特定エントリの内容を読み取ることができます。次に、特定の列がその他クラスに読み取り権を与えたとします。

表 10-3 テーブル、列、エントリの例 3

 

未認証 

所有者 

グループ 

その他 

テーブルのアクセス権 

----

r---

----

----

エントリ 2 のアクセス権 

----

----

r---

----

列 1 のアクセス権 

----

----

----

r---

その他のクラスのメンバーは列 1 のすべてのエントリを読み取ることができます (表 10-4 の薄い影の部分)。グループクラスのメンバーは (その他クラスにも属しているので) 列 1 のすべてとエントリ 2 の全列を読み取ることができます (表 10-4 の濃い影の部分)。*NP* になっている列は、「グループ」、「その他」いずれのクラスも読み取りができません (どちらにもアクセス権がない)。

表 10-4 テーブル、列、エントリの例 4

 

列 1 

列 2 

列 2 

エントリ 1 

読み取り 

*NP*

*NP*

エントリ 2 

読み取り 

読み取り 

読み取り 

エントリ 3 

読み取り 

*NP*

*NP*

エントリ 4 

読み取り 

*NP*

*NP*

エントリ 5 

読み取り 

*NP*

*NP*

異なるレベルの権限

この節では 4 つの権限 (読み取り、作成、変更、削除) が 4 つのアクセスレベル (ディレクトリ、テーブル、列、エントリ) とどのようにかかわるのかを説明します。

種々の権限とレベルに関係した機能を次の表 10-5 にまとめます。

表 10-5 アクセス権、アクセスレベル、およびその機能

 

ディレクトリ 

テーブル 

列 

エントリ 

読み取り 

ディレクトリ内容のリスト 

テーブル内容の読み取り 

列内容の読み取り 

エントリ (行) 内容の読み取り 

作成 

新規ディレクトリまたはテーブルオブジェクトの作成 

新規エントリ (行) の追加 

列に新規のデータを入力 

エントリ (行) に新規のデータを入力 

変更 

オブジェクトの移動とオブジェクト名の変更 

テーブル内の任意のデータを変更 

列内のデータを変更 

エントリ (行) 内のデータを変更 

削除 

テーブル等のディレクトリオブジェクトの削除 

エントリ (行) の削除 

列内のデータの削除 

エントリ (行) 内のデータの削除 

読み取り権

作成権

変更権

削除権