EN JA
NETGROUP(5)
NETGROUP(5) FreeBSD File Formats Manual NETGROUP(5)

名称

netgroupネットワークグループを定義する

書式

netgroup

解説

netgroup ファイルはネットワークへの同じようなアクセス権を与えられた (host, user, domain) の形式の値の組を指定します。

このファイル中のそれぞれの行は、ネットグループ名とそれに続くネットグループのメンバリストで構成されます。それぞれのメンバは、他のネットグループ名か、次のような値の組にする事ができます。

(host, user, domain)

ここで host, user, domain は、それぞれの構成要素に対応する文字列名です。コンマで区切られたフィールドはどれも、空にする事で ``ワイルドカード'' を、 ``-'' にする事で ``値無し'' を指定する事ができます。メンバリストは空白またはコンマで区切る事ができ、文字 ``\'' を行の最後に使う事によって行を継続できます。 1 行は 1024 文字までに制限されています。 netgroup データベースにアクセスするためには、通常 getnetgrent(3) の中の関数が使われます。

# で始まる行はコメントとして扱われます。

NIS/YP の相互作用

他の多くのプラットフォームでは、 netgroup はもっぱら NIS と一緒に用いられ、ローカルの /etc/netgroup ファイルは無視されます。 FreeBSD では NIS かローカルファイルの netgroup のどちらかを使うようにする事が出来ます。しかし、この機能は慎重に使うべきです。現在の netgroup システムは、 innetgr( 3) を用いた照会に関する部分が極めて非効率です。これは、問い合わせのあったその場で netgroup のメンバ情報を計算するためです。それに比べて、 NIS の netgroup データベースは innetgr( 3) が素早く照会を完了させるためのキー項目を持った 3 つのマップ (netgroup と netgroup.byuser と netgroup.byhost) によって構成されています。 FreeBSDnetgroup システムは、次の方法で NIS の netgroup マップと互いに作用し合う事が出来ます:
  • もし /etc/netgroup ファイルが存在しなかった場合、または存在しても空の場合、または存在しても‘+’しか書かれていない場合で、これらのいずれかの場合に加えて NIS が動いている場合は、 netgroup は NIS だけを使って照会を行ないます。このとき、 innetgr( 3) は、netgroup.byuser マップと netgroup.byhost マップを最大限に利用して高速検索を行ないます (これは、SunOS とそれに類するプラットフォームの実装とほとんど同じです)。
  • もし /etc/netgroup が存在し、かつローカルの netgroup 情報のみを含んでいる (NIS の‘+’がない) 場合、そのローカルの netgroup 情報のみが使用されます (NIS の情報は無視されます)。
  • もし、 /etc/netgroup が存在し、かつローカルの netgroup データ および NIS の‘+’トークンの両方が含まれている場合、ローカルのデータと NIS の netgroup マップは 1 つにつながれた netgroup データベースの様に処理されます。この構成は最も柔軟ですが、最も非効率です。特に、このデータベースが大きい場合は innetgr( 3) による照会は極端に遅くなります。

関連ファイル

/etc/netgroup
ネットグループデータベース

互換性

このファイルフォーマットは、さまざまなベンダと互換性がありますが、すべてのベンダが同一のフォーマットを使っているわけではないようです。

関連項目

getnetgrent(3), exports(5)

バグ

ネットグループのメンバの組に基づいたアクセス制限の解釈は、さまざまなネットワークアプリケーション任せになっています。また、ドメイン指定を BSD 環境に適用する方法も不明確です。

netgroup データベースは逆引きスピードアップのため、 passwd(5) の様にハッシュ化された db(3) データベースに格納されるべきです。

December 11, 1993 FreeBSD