NETGROUP(5) FreeBSD ファイルフォーマットマニュアル 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) に よって構成されています。 FreeBSD の netgroup システムは、次の方法で 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
ネットグループデータベース 関連項目 |
互換性
このファイルフォーマットは、さまざまなベンダと互換性がありますが、すべて のベンダが同一のフォーマットを使っているわけではないようです。 |
バグ
ネットグループのメンバの組に基づいたアクセス制限の解釈は、さまざまなネッ トワークアプリケーション任せになっています。また、ドメイン指定を BSD 環境 に適用する方法も不明確です。 netgroup データベースは逆引きスピードアップのため、 passwd(5) の様にハッ シュ化された db(3) データベースに格納されるべきです。 FreeBSD 10.0 December 11, 1993 FreeBSD 10.0 |