dポイントプレゼントキャンペーン実施中!

サーバ:CentOS 4.4
xinetd を使ってアクセスコントロールをしようとしています。
/etc/xinetd.d/サービス名
でサービス毎の設定が出来ますが、その中で(only_fromを使って)制御しようとしていますが、その際に /etc/hosts.allow と /etc/hosts.deny はどうなるのでしょうか。これらのファイルを削除して、xinetd の設定ファイルのみでアクセス制御するにしても、xinetd を通さないデーモンが直接 hosts.allow と hosts.deny を参照しようとする場合もありそうで怖そうです。
かといって xinetd と hosts.allow,hosts.deny の両方でアクセス制御するのもわかりにくくなりそうですし。

何かスマートなやり方というものはあるのでしょうか。

A 回答 (1件)

xinetdの設定ファイルで指定するのは、xinetdが該当プログラムを起動するかどうかを決めます。

起動されたプログラムの動作には無関係です。

hosts.allow/hosts.denyはプログラムがサブルーチンhosts_access(3)を使ってアクセス許可判断をする時に使われます。

したがって、全然目的が違うものです。xinetdから起動されるあるプログラムはhosts_access(3)を使わないかもしれません。また、使うプログラムもあるかもしれません。デーモンもhosts_access(3)を使うかもしれないし、独自の設定ファイルを使うかもしれません。

そのプログラムがhosts_access(3)を使うかどうかは、
strings プログラムファイル名 | grep /etc/hosts
でわかるでしょう。
    • good
    • 0
この回答へのお礼

>xinetdから起動されるあるプログラムはhosts_access(3)を使わないかもしれません。また、使うプログラムもあるかもしれません。デーモンもhosts_access(3)を使うかもしれないし、独自の設定ファイルを使うかもしれません。

xinetd は「起動のみ」制御、hosts.*** はそれに対応したデーモンの「通信全体」を制御、ということですね。
そのことはわかるのですが、最終的な「許可・不許可」という点を実現するために、複数のファイルに設定しなければならない、というのが泥臭いと思えまして…。

お礼日時:2006/12/13 19:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!