プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/etc/hosts.allow」「/etc/hosts.deny」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

次に調べたのが「/etc/hosts.allow」と「/etc/hosts.deny」。

いや、まぁ、調べなくても知ってるけどさ。
アクセスを許可するホストを書いておくファイルと
アクセスを拒否するホストを書いておくファイルだべ?

……一応調べておきましょうか(--ゞ

ふむふむ(--)

アクセスを許可するホストを書いておくファイルと
アクセスを拒否するホストを書いておくファイルでした。
って、さっきも書きましたけどね。

「/etc/hosts.allow」が許可するホストを書いておくファイルで
「/etc/hosts.deny」が拒否するホストを書いておくファイルです。

書き方は「/etc/hosts.allow」「/etc/hosts.deny」共に

どのサービスを:どいつが

です。
例えば

ALL:192.168.1.2

と書いてあれば「すべてのサービスを192.168.1.2が」となります。
この記述が「/etc/hosts.allow」にあれば「使っていーよ」
「/etc/hosts.deny」にあれば「使っちゃ駄目だよ」と続きます。

使って良いか駄目かの判断は以下の順序で行います。

1.「/etc/hosts.allow」の中身を探して、あれば許可する
  無ければ「2.」に進む

2.「/etc/hosts.deny」の中身を探して、あれば拒否する
  無ければ「3.」に進む

3.許可する

「/etc/hosts.allow」と「/etc/hosts.deny」に同じ内容を記述すると
許可されてしまいますのでご注意ください。
ポイントは「3.許可する」ですね。
「/etc/hosts.allow」にも「/etc/hosts.deny」にも書いていない場合は許可されます。
おぉ、これはビックリだ。
そのため、普通は「/etc/hosts.deny」の中身を

ALL:ALL

にします。
この条件ですべてのアクセスを捕捉し、何があろうと「3.許可する」に進ませないわけですね。

世の中にはこの設定を「全部拒否って、許可のある奴だけ通す」と説明している人もいます。
恐らく

「/etc/hosts.deny」で全拒否
 ↓
「/etc/hosts.allow」の設定で上書き

のイメージなのでしょう。
確かに結果は一緒なのですが、実際には逆で

「/etc/hosts.allow」
 ↓
「/etc/hosts.deny」

の順序で参照されます。

そんな感じ(--)ノ

まとめると「/etc/hosts.allow」はアクセスを許可するホストを指定するファイルです。
「/etc/hosts.deny」はアクセスを拒否するホストを指定するファイルです。
適用される順序は「/etc/hosts.allow」→「/etc/hosts.deny」で、
どちらにも記述が無い場合はアクセスが許可されます

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事