Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)

第 15 章 NIS+ のアクセス権の管理

この章では、NIS+ アクセス権とその管理方法について説明します。


ヒント –

NIS+ セキュリティタスクには、Solaris 管理コンソール ツールがあればより簡単に実行できるものがあります。



注 –

NIS+ は、将来のリリースではサポートされなくなる可能性があります。NIS+ から LDAP への移行支援ツールは、Solaris 9 リリース以降で使用できます (『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照)。詳細については、http://www.sun.com/directory/nisplus/transition.html を参照してください。


NIS+ のアクセス権について

NIS+ アクセス権によって、NIS+ ユーザーが実行できる操作とアクセス可能な情報が決定されます。この章では、NIS+ セキュリティシステム全体と、特にシステムでアクセス権が果たす役割について、十分理解しているユーザーを想定しています。詳しくは、第 11 章「NIS+ のセキュリティの概要」を参照してください。

NIS+ アクセス関連のコマンドとその構文、オプションについては、nis+(1) のマニュアルページを参照してください。

承認およびアクセス権について

NIS+ 名前空間のセキュリティは、承認、アクセス権、および NIS+ 資格と認証の相互作用によって確保されています。これらの詳細については、「NIS+ の承認とアクセス - 紹介」を参照してください。

承認クラス - 復習

「承認クラス」に説明があるように、NIS+ のアクセス権は各クラスに与えられるものです。4 つの NIS+ クラスが用意されています。

アクセス権 - 復習

「NIS+ アクセス権について」で詳述したように、NIS+ には 4 種類のアクセス権があります。

これらの権限は論理的には、ディレクトリ、テーブル、列とエントリのように下位に展開するものであることを銘記してください。たとえば、新規にテーブルを作成するには、そのテーブルを格納する NIS+ ディレクトリオブジェクトに対する作成権が必要です。そのテーブルを作成した場合、そのデフォルト所有者になります。所有者として、自分自身にそのテーブルに対する作成権を与え、テーブルに新規のエントリを作成できます。テーブル内に新規のエントリを作成した場合、それらのエントリの所有者になります。テーブルの所有者として、テーブルレベルの作成権をほかの人に与えることもできます。たとえば、自身のテーブルのグループクラスのテーブルレベルの作成権を与えることができます。その場合、テーブルのグループのすべてのメンバーがテーブル内に新規のエントリを作成できます。新規のテーブルエントリを作成した、グループの個々のメンバーはそのエントリのデフォルト所有者になります。

アクセス権の連鎖

承認クラスは連鎖の関係にあります。つまり、上位クラスは通常下位クラスにも属しており、自動的に下位クラスの権利を得ることになります。次のように機能します。

この基本原則は、下位クラスのアクセス権は自動的に上位クラスに与えられるということです。つまり、上位クラスは下位クラスよりも多くの権利を持つことができ、権利が少なくなることはないということです。この原則の例外は、所有者がグループのメンバーでない場合に、所有者の持っていない権利をグループクラスに与えることができることです。

アクセス権の割り当てと変更方法

NIS+ オブジェクトを作成した時、NIS+ はそのオブジェクトに所有者クラスとグループクラスのアクセス権のデフォルトセットを与えます。デフォルトでは、所有者はそのオブジェクトを作成した NIS+ 主体です。デフォルトのグループは、環境変数 NIS_GROUP の中で名前をつけられたグループです。

異なるデフォルト権利の指定

NIS+ は NIS+ オブジェクトが作成された時に自動的に付与されたデフォルト権利を変更する 2 つの異なった方法を提供しています。

既存オブジェクトへのアクセス権を変更する

NIS+ オブジェクトを作成する場合、既存のデフォルトアクセス権 (NIS_DEFAULTS 環境変数か -D オプションの指定かのいずれかによる) に対処する必要があります。デフォルト権利を変更するコマンドは次のとおりです。

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

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

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

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

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

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

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

表 15–1 テーブル、列、エントリの例 1

 

未認証 

所有者 

グループ 

その他 

テーブルのアクセス権 

----

r---

----

----

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

表 15–2 テーブル、列、エントリの例 2

 

未認証 

所有者 

グループ 

その他 

テーブルのアクセス権 

----

r---

----

----

エントリ 2 のアクセス権 

----

----

r---

----

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

表 15–3 テーブル、列、エントリの例 3

 

未認証 

所有者 

グループ 

その他 

テーブルのアクセス権 

----

r---

----

----

エントリ 2 のアクセス権 

----

----

r---

----

列 1 のアクセス権 

----

----

----

r---

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

表 15–4 テーブル、列、エントリの例 4

 

列 1 

列 2 

列 2 

エントリ 1 

読み取り 

*NP*

*NP*

エントリ 2 

読み取り 

読み取り 

読み取り 

エントリ 3 

読み取り 

*NP*

*NP*

エントリ 4 

読み取り 

*NP*

*NP*

エントリ 5 

読み取り 

*NP*

*NP*

異なるレベルの権利

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

種々の権利とレベルに関係した機能を次の表 15–5 にまとめます。

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

 

ディレクトリ 

テーブル 

列 

エントリ 

読み取り 

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

テーブル内容の読み取り 

列内容の読み取り 

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

作成 

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

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

列に新規のデータを入力 

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

変更 

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

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

列内のデータを変更 

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

削除 

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

エントリ (行) の削除 

列内のデータの削除 

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

読み取り権

作成権

変更権

削除権

アクセス権の格納場所

オブジェクトのアクセス権は、そのオブジェクトの定義の一部として指定され、格納されます。この情報は NIS+ テーブルには格納されません。

NIS+ オブジェクトのアクセス権の読み取り

アクセス権を読み取るには niscat コマンドを使用します。


niscat -o objectname

アクセス権を読み取るオブジェクト名を指定します。

このコマンドは、NIS+ オブジェクトに関する次の情報を返します。

4 つの承認クラスのアクセス権は、次のように 16 文字の文字列で表示されます。


	r---rmcdr---r---

各文字がアクセス権の種類を表します。

先頭の 4 文字は未認証に、次の 4 文字は所有者に、その次の 4 文字はグループに、そして最後の 4 文字はその他に、それぞれ与えられたアクセス権を表します。

図 15–1 アクセス権の表示

この図は、未認証から始まるアクセス権の表示順序を示しています。


注 –

UNIX ファイルシステムとは異なり、先頭のアクセス権は未認証用であり、所有者用ではありません。


デフォルトのアクセス権

オブジェクトを作成すると、NIS+ はそのオブジェクトにデフォルトの所有者、グループ、および アクセス権を割り当てます。デフォルトの所有者は、そのオブジェクトを作成する NIS+ 主体です。デフォルトのグループは、環境変数 NIS_GROUP の中で名前をつけられたグループです。デフォルトのアクセス権は次のようになります。

表 15–6 デフォルトのアクセス権

未認証 

所有者 

グループ 

その他 

読み取り権 

読み取り権 

読み取り権 

変更権 

作成 

削除 

環境変数 NIS_DEFAULTS のセットがある場合、NIS_DEFAULTS 内の値が新規のオブジェクトに適用されるデフォルト値を決定します。コマンド行でオブジェクトを作成した場合は、-D フラグを使ってデフォルト値以外を設定できます。

テーブルに対するアクセス権をサーバーが割り当てる方法

この節では、読み取り、変更、削除、作成の操作が行われる際、テーブルオブジェクト、エントリ、列に対するアクセス権をサーバーがどのように割り当てるかについて説明します。


注 –

セキュリティレベル 0 では、サーバーはアクセス権を実行しないため、すべてのクライアントがテーブルオブジェクトに対する完全なアクセス権を付与されます。セキュリティレベル 0 は管理者だけがテストの目的で使用します。通常の業務にはレベル 0 を使用しないでください。


サーバーがアクセスを許可するか否かを決定する 4 つの要素があります。

認証後に主体は、主体が有効な DES 資格を所持しているかを確認することで要求を行い、NIS+ サーバーは処理の種類と要求のオブジェクトを決定します。

コマンドによるアクセス権の指定

ここでの説明では、NIS+ 環境のセキュリティレベルが 2 (デフォルト) であるものと想定しています。

この節では、この章で説明するコマンドを使用するときにアクセス権や所有者、グループ所有者、オブジェクトを指定する方法を説明します。

アクセス権の構文

この節では、承認とアクセス権に関係する NIS+ コマンドに使われるアクセス権の構文について説明します。

クラス、演算子、および権利の構文

アクセス権は、環境変数で指定する場合もコマンドで指定する場合も、「クラス (class)」、「演算子 (operator)」、「権利 (right)」という3 種類の引数で区別されます。

コンマ (,) で区切ることで、複数のコマンドを 1 つのコマンド行にまとめることができます。

表 15–10 クラス、演算子、権利の構文 - 例

操作 

構文 

読み取りアクセス権を「所有者」クラスに追加する 

o+r

所有者、グループ、およびその他のクラスのアクセス権を、以前のアクセス権と異なるものに変更する 

a=m

読み取りと変更の権利をその他と未認証クラスに追加する 

wn+m

グループ、その他、および未認証クラスから 4 つの権利をすべて削除する 

gwn-rmcd

所有者クラスに作成と削除の権利を追加し、その他と未認証クラスに読み取り権と変更権を追加する 

o+cd,wn+rm

所有者とグループの構文

主体名は完全指定されていることに注意してください (principalname.domainname)。

所有者


principalname

グループ


groupname.domainname

オブジェクトとテーブルエントリの構文

オブジェクトとテーブルエントリは異なる構文を使います。

オブジェクト


objectname

テーブルエントリ


[columnname=value],tablename

注 –

この場合、角括弧 ( [ ]?) は構文の一部であり、オプション記号ではありません。


インデックス付きの名前では、列と値のペアを複数指定できます。その場合、操作はすべての列と値のペアに一致するエントリにだけ適用されます。列と値のペアが増えると、検索条件が厳しくなります。

たとえば、以下のようになります。

表 15–11 オブジェクトとエントリの構文

種類 

コメント例 

オブジェクト 

hosts.org_dir.sales.doc.com.

テーブルエントリ 

`[uid=33555],passwd.org_dir.Eng.doc.com.'

2 つの値のテーブルエントリ 

`[name=sales,gid=2],group.org_dir.doc.com.'

列はインデックス付きの名前の特殊な形式になっています。列の操作は nistbladm コマンドでだけ可能なため、詳細は、「テーブルでの nistbladm コマンドの使用」を参照してください。

NIS+ デフォルトの表示 - nisdefaults コマンド

nisdefaults コマンドは、名前空間内で現在有効な 7 つのデフォルトを表示します。これらのデフォルトは次のいずれかです。

オブジェクトを作成する時に -D オプション付きのコマンドを使って上書きしなければ、このマシン上でオブジェクトを作成すると自動的にデフォルト値を獲得することになります。

表 15–12 7 つの NIS+ デフォルト値と nisdefaults オプション

デフォルト 

オプション 

元データ 

目的 

ドメイン 

-d

/etc/defaultdomain

コマンドを入力したマシンのホームドメインを表示する 

グループ 

-g

環境変数 NIS_GROUP

このシェルが作成する次のオブジェクトに付与されるグループを表示する 

ホスト 

-h

uname -n

マシンのホスト名を表示する 

主体 

-p

gethostbyname()

nisdefaults コマンドを入力した NIS+ 主体の完全指定ユーザー 名またはホスト名を表示する

アクセス権 

-r

環境変数 NIS_DEFAULTS

このシェルが作成する次のオブジェクトまたはエントリに付与されるアクセス権を表示する。書式: -----rmcdr---r---

検索パス 

-s

環境変数 NIS_PATH

検索パスの構文を表示する。これは NIS+ が情報を検索する時のドメインを示す。もし設定してあれば、環境変数 NIS_PATH の値を表示する

生存期間 

-t

環境変数 NIS_DEFAULTS

このシェルが作成する次のオブジェクトに付与される生存期間を表示する。デフォルトは 12 時間 

全部 (簡潔) 

-a

 

7 つのデフォルトすべてを簡潔書式で表示する 

冗長 

-v

 

指定した値を冗長モードで表示する 

 

これらのオプションを使用して、すべてのデフォルト値もしくはそのサブセットを表示できます。

デフォルトセキュリティ値の設定

この節では、nisdefaults コマンド、環境変数 NIS_DEFAULTS、および -D オプションに関連したタスクを実行する方法を説明します。環境変数 NIS_DEFAULTS は次のデフォルト値を指定します。

環境変数 NIS_DEFAULTS に設定した値はデフォルトとなり、そのシェルを使用して作成したすべての NIS+ オブジェクトに適用されます (-D オプション付きでコマンドを実行してデフォルト値に上書きした場合を除く)。

環境変数 NIS_DEFAULTS を指定することで、デフォルト値 (所有者、グループ、アクセス権、および生存期間) を指定できます。一度 NIS_DEFAULTS の値を設定するとそのシェルから作成したすべてのオブジェクトは、-D オプション付きでコマンドを実行して上書きした場合を除きそのデフォルトに設定されます。

NIS_DEFAULTS の値を表示する

echo コマンドを使って、環境変数の値をチェックできます。以下にその例を示します。


client% echo $NIS_DEFAULTS
owner=butler:group=gamblers:access=o+rmcd

nisdefaults コマンドを使用して、名前空間でアクティブな NIS+ デフォルトの一般的リストを表示することも可能です。を参照してください。

デフォルトを変更する

環境変数 NIS_DEFAULTS の値を変更することで、アクセス権、所有者、およびグループのデフォルトを変更できます。ユーザーのシェルに適切な環境コマンド (csh には setenv、sh と ksh には $NIS_DEFAULTS=, export) を次の引数を付けて使用します。

複数の引数をまとめる場合は、コロン (:) で区切ります。

owner= 主体名 :group= グループ名

表 15–13 に例をいくつか示します。

表 15–13 デフォルトの変更例

作業 

例 

所有者のデフォルトアクセス権に読み取り権を設定 

client% setenv NIS_DEFAULTS access=o+r

デフォルトの所有者をホームドメインが doc.com. である abe に設定

 

client% setenv NIS_DEFAULTS owner=abe.doc.com.

2 つのコード行をまとめる 

client% setenv NIS_DEFAULTS access=o+r:owner=abe.doc.com.

デフォルトを変更したシェルから作成されるすべてのオブジェクトとエントリは、指定した新規の値になります。テーブルの列またはエントリに対してはデフォルトを指定できません。列とエントリはテーブルのデフォルトをそのまま継承します。

NIS_DEFAULTS の値を再設定する

変数 NIS_DEFAULTS をオリジナルの値に再設定するには、ユーザーのシェルに適したフォーマットを使って、引数なしで変数の名前を入力します。

C シェルの場合


client# unsetenv NIS_DEFAULTS

Bourne シェルまたは Korn シェルの場合


client$ NIS_DEFAULTS=; export NIS_DEFAULTS

デフォルトを無効にする

次の NIS+ コマンドのどれかを使えば、NIS+ オブジェクトまたはテーブルエントリを作成する時に、いつでもデフォルトのアクセス権、所有者、およびグループを無効にできます。

デフォルト値を無効にするには、「コマンドによるアクセス権の指定」の説明のように、コマンドの構文に -D オプションを挿入します。

デフォルトを設定する時と同様、複数の引数を 1 行のコマンド行で指定できます。なお、列とエントリの所有者とグループは常に同じであるため、これらを無効にすることはできません。

nismkdir コマンドを使用して、sales.doc.com ディレクトリを作成し、デフォルトアクセス権を無効にして所有者にだけ読み取り権を付与するには、次のように入力します。


client% nismkdir -D access=o+r sales.doc.com

オブジェクトとエントリのアクセス権を変更する

nischmod コマンドは、NIS+ オブジェクトまたはテーブルエントリのアクセス権を変更します。テーブル列のアクセス権は操作しません。列の場合、nistbladm コマンドに -D オプションを付けて実行してください。nischmod コマンドを使用するには、そのオブジェクトかエントリに対する変更権が必要です。

nischmod コマンドを使用して権利を追加する

オブジェクトまたはエントリに権利を追加する例を次に示します。

オブジェクト


nischmod class+right object-name

テーブルエントリ


nischmod class+right [column-name=value],table-name

sales.doc.com. ディレクトリオブジェクトのグループに読み取り権と変更権を追加する場合は、次のように入力します。


client% nischmod g+rm sales.doc.com.

hosts.org_dir.doc.com. テーブル内の name=abe エントリのグループに読み取り権と変更権を追加する場合は、次のように入力します。


client% nischmod g+rm '[name=abe],hosts.org_dir.doc.com.'

nischmod を使用して権利を削除する

オブジェクトまたはエントリの権利を削除するには、次のように入力します。

オブジェクト


nischmod class-right  object-name

エントリ


nischmod class-right [column-name=value],  table-name

sales.doc.com. ディレクトリオブジェクトのグループから作成権と削除権を削除するには次のように入力します。


client% nischmod g-cd sales.doc.com.

hosts.org_dir.doc.com. テーブル内の name=abe エントリのグループから削除権を削除する場合は、次のようにします。


client% nischmod g-d '[name=abe],hosts.org_dir.doc.com.'

列アクセス権を指定する

nistbladm コマンドは NIS+ テーブルに種々の操作を行うことができます。これについては 「テーブルでの nistbladm コマンドの使用」にほとんどの説明があります。このコマンドは -c-u の 2 つのオプションを使用してセキュリティ関連のタスクを実行できます。

テーブル作成時の列権利設定

テーブルが作成された時、列にはテーブルオブジェクトと同じ権利が付与されます。このテーブルレベルの権利は環境変数 NIS_DEFAULTS で指定されるか、またはテーブルを作成したコマンドの一部で指定されます。nistbladm コマンドでテーブルを作成する際に -c オプションを使用すれば、最初の列アクセス権を指定できます。このオプションを使用するには、テーブルを作成しようとするディレクトリの作成権が必要です。テーブル作成時に列権利を指定するには、次のように入力します。


nistbladm -c type ` columname=[flags] [, access]... tablename'

引数の意味はそれぞれ以下のとおりです。

テーブルを作成する際、列に独自の権利を付与するには、列の型とコンマの後の各列の等号記号にアクセス権を追加します。次のように、列をスペースで区切ります。


column=type,rights column=type,rights column=type,rights

以下の例では、div 特性で depts という名前のテーブルが doc.com ディレクトリに作成されます。列は NameSite および Manager の 3 つです。 第 2、第 3 列のグループには、変更権が追加されます。


rootmaster% nistbladm -c div Name=S Site=S,g+m Manager=S,g+m depts.doc.com.

nistbladm -c オプションの詳細は、第 19 章「NIS+ テーブルの管理」を参照してください。

既存のテーブル列に権利を追加する

既存の NIS+ テーブルの列にアクセス権を追加するには、nistbladm -u オプション付きの nistbladm コマンドを使用します。このオプションを使用する場合、テーブル列の変更権が必要です。入力例を次に示します。


nistbladm -u [column=  access,...],tablename

引数の意味はそれぞれ以下のとおりです。

権利を更新する列ごとに column=access のペアを使用します。複数の列を更新するにはコンマ (,) で区切り全体を角括弧 ( []?) で囲みます。


[column=access, column=access,  column=access]

このオプションの完全な構文については、第 2 章「NIS+ の紹介」を参照してください。

次の例は、hosts.org_dir.doc.com. テーブルの name および addr 列のグループに、作成権と変更権を追加するものです。


client% nistbladm -u `[name=g+rm,addr=g+rm],hosts.org_dir..doc.com.'

テーブル列から権利を削除する

NIS+ テーブル列のアクセス権を削除するには、上記 「既存のテーブル列に権利を追加する」で説明したように -u オプションを使用します。ただし + 記号を使って権利を追加するのではなく、- 記号を使って権利を削除します。

次の例は、hosts.org_dir.doc.com. テーブルの hostname 列のグループの読み取り権と変更権を削除するものです。


client% nistbladm -u 'name=g-rm,hosts.org_dir.doc.com.'

オブジェクトとエントリの所有権の変更

nischown コマンドは、1 つ以上のオブジェクトまたはエントリの所有者を変更します。このコマンドを使用するには、オブジェクトまたはエントリに対する変更権が必要です。テーブルの列の所有者はテーブルの所有者であるため、nischown コマンドでは列の所有者を変更できません。列の所有者を変更するには、テーブルの所有者を変更する必要があります。

nischown コマンドを使用してオブジェクトの所有者を変更する

オブジェクトの所有者を変更するには、次のように入力します。


nischown new-owner object

引数の意味はそれぞれ以下のとおりです。

オブジェクト名と新規所有者名にドメイン名を必ず追加します。

次の例は、doc.com. ドメイン内の hosts テーブルの所有者を、ホームドメインが doc.com. でユーザー名 lincoln であるユーザーに変更するものです。


client% nischown lincoln.doc.com. hosts.org_dir.doc.com.

nischown コマンドを使用してテーブルエントリの所有者を変更する

テーブルエントリの所有者を変更する構文は、エントリを特定するのにインデックス付きエントリを使います。次に例を示します。この構文の詳細は、「オブジェクトとテーブルエントリの構文」を参照してください。


nischown new-owner [ column=value,...],  tablename 

引数の意味はそれぞれ以下のとおりです。

所有者名とテーブル名にドメイン名を必ず追加します。

次の例は、doc.com. ドメインのホストテーブル内のエントリの所有者を、ホームドメインが doc.com. であるユーザー takeda に変更するものです。そのエントリの name 列の値は virginia です。


client% nischown takeda.doc.com. '[name=virginia],hosts.org_dir.doc.com.'

オブジェクトまたはエントリグループの変更

nischgrp コマンドは、1 つ以上のオブジェクトまたはテーブルエントリのグループ所有者を変更します。このコマンドを使用するには、オブジェクトまたはエントリに対する変更権が必要です。テーブルの列に割り当てられたグループは、テーブルに割り当てられたグループと同じであるため、nischgrp コマンドは、列のグループを変更できません。列のグループ所有者を変更するには、テーブル所有者を変更する必要があります。

nischgrp コマンドを使用してオブジェクトのグループを変更する

オブジェクトのグループを変更するには、次の構文を使用します。


nischgrp group object 

引数の意味はそれぞれ以下のとおりです。

オブジェクト名と新規のグループ名にはドメイン名を必ず追加します。

次の例は、doc.com. ドメイン内の hosts テーブルのグループを admins.doc.com. に変更するものです。


client% nischgrp admins.doc.com. hosts.org_dir.doc.com.

nischgrp コマンドを使用してテーブルエントリのグループを変更する

テーブルエントリのグループを変更する構文は、エントリを識別するためにインデックス付きのエントリを使用します (この構文については、「オブジェクトとテーブルエントリの構文」に詳細説明があります)。以下に構文を示します。


nischgrp new-group [ column=value,...],  tablename

引数の意味はそれぞれ以下のとおりです。

新規グループ名とテーブル名にはドメイン名を必ず追加します。

次の例は、doc.com. ドメインの hosts テーブル内のエントリのグループを sales.doc.com. に変更するものです。そのエントリの name 列の値は virginia です。


client% nischgrp sales.doc.com. '[name=virginia],hosts.org_dir.doc.com.'