NIS ネットグループは、NIS 管理者が管理目的のために定義するユーザーまたはマシンのグループ (集合) です。 たとえば、次のようなネットグループを作成できます。
特定マシンにアクセスできる一群のユーザーを定義するネットグループ
特定のファイルシステムにアクセスできる一群の NFS クライアントマシンを定義するネットグループ
特定の NIS ドメインのすべてのマシンに対して管理者権限を持つ一群のユーザーを定義するネットグループ
各ネットグループには、1 つのネットグループ名が与えられます。 ネットグループはアクセス権を直接設定しません。 代わりに、ユーザー名またはマシン名が一般に使用される場所ではネットグループ名が他の NIS マップで使用されます。 たとえば、netadmins というネットワーク管理者ネットグループを作成したと仮定します。 netadmins ネットグループのすべてのメンバーに特定マシンへのアクセス権を与えるには、そのマシンの /etc/passwd ファイルに netadmin エントリを追加するだけで、 ネットグループ名を /etc/netgroup ファイルに追加して、NIS グループマップに追加することもできます。 ネットグループの使い方の詳細については、netgroup(4) のマニュアルページを参照してください。
NIS が使用されているネットワーク上では、NIS マスターサーバー上の netgroup 入力ファイルを使用して、 netgroup、netgroup.byuser、netgroup.byhost という 3 つのファイルが生成されます。 netgroup マップには、netgroup 入力ファイルの基本情報が入っています。 他の 2 つの NIS マップには、マシンまたはユーザーが指定されるとネットグループ情報の検索が迅速に行われるフォーマットで情報が入っています。
netgroup 入力ファイルのエントリのフォーマットは、 name ID です。name はネットグループ名であり、ID は、ネットグループに属しているマシンまたはユーザーを示します。 ネットグループの ID (メンバー) は、コンマで区切っていくつでも指定できます。 たとえば、3 つのメンバーが存在するネットグループを作成する場合、netgroup 入力ファイルエントリのフォーマットは、 name ID、 ID、ID となります。 netgroup 入力ファイルエントリのメンバーID のフォーマットは次のようになります。
([-|machine], [-|user], [domain]) |
machine はマシン名、user はユーザー ID 、domain はマシンまたはユーザーの NIS ドメインです。 「ドメイン」エレメントは任意指定ですが、他の NIS ドメインのマシンまたはユーザーを示す場合には必ず指定します。 各エントリでは「マシン」エレメントと「ユーザー」エレメントは必須ですが、ダッシュ (-) は空であることを示すために使用されます。 エントリでは、「マシン」エレメントと「ユーザー」エレメントの関係を示す必要はありません。
netgroup 入力ファイルの 2 つのサンプルエントリを次に示します。これらの各サンプルエントリでは、admins という名前のネットグループが作成されます。 これらの各ネットグループは、遠隔ドメイン sales に存在するユーザー hauri と juanita、およびマシン altair と sirius で構成されます。
admins (altair, hauri), (sirius,juanita,sales) |
admins (altair,-), (sirius,-), (-,hauri), (-,juanita,sales) |
さまざまなプログラムでは、ログイン、遠隔マウント、遠隔ログイン、遠隔シェル作成時に NIS ネットグループマップを使用してアクセス権のチェックを行います。 さまざまなプログラムとは、mountd、login、rlogin、rsh などです。 login コマンドは、passwd データベース内でネットグループ名を見つけた場合に、ネットグループマップでユーザー分類を調べます。 mountd デーモンは、/etc/dfs/dfstab ファイル内でネットグループ名を見つけた場合に、ネットグループマップでマシン分類を調べます。 rlogin と rsh (ruserok インタフェースを使用するプログラムならどれでも) は、/etc/hosts.equiv または .rhosts ファイル内でネットグループ名を見つけた場合に、ネットグループマップでマシン分類とユーザー分類の両方を調べます。
ネットワークに新しい NIS ユーザーまたはマシンを追加する場合は、netgroup 入力ファイルの該当ネットグループに追加してください。 次に、make でネットグループマップを作成し、これを yppush コマンドですべての NIS サーバーに転送してください。 ネットグループおよびネットグループ入力ファイル構文の使い方の詳細については、netgroup(4) のマニュアルページを参照してください。