デーモンとは


デーモン(daemon)とは

常に実行状態で待機し、要求があればそれに応じて なんらかの処理をするプログラムのことをデーモンといいます。

例えば、いつどこから来るかわからない ftp (File Transfer Protocol) 接続要求に対しては、 「いつでもいらっしゃい」と待ち構えているプログラムが走って いないと要求を受け付けられません。 そこで、ftp のデーモン ftpd (プロトコル名の後ろに daemon を表す d がつく) を常に動かしておくことになります。

よく見るデーモンといえば、次のようなものたちでしょうか。

inetd :ネットワーク関係のデーモン

inetd はネットワーク関連のサービス (ftp, telnet, ssh, smtp など) に対する接続要求を一括して監視し、 必要に応じてサービスを起ち上げます。 それぞれのサービスに対して個々のデーモンを 動かさなくてすむので、サーバの負荷が軽減します。 inetd は常にネットワーク接続の要求を待機しているため、 「デーモンのデーモン」ということができます。

inetd が管理するサービスは /etc/inetd.conf で規定されます。 また、それらサービスは /etc/services でどのポートを使うかを 決められています。

FreeBSD の最近のバージョン(少なくとも 4.2-RELEASE 以降)では、 デフォルトで /etc/inetd.conf のすべての行がコメントアウトされて デーモンが動かなくなっているようです。 「デフォルトで変なデーモンが走ってると危ないので、 必要なデーモンは自分で動かせ」ということなのでしょう。

セキュリティー問題

/etc/inetd.conf には、どのデーモンを有効にするか、 が書いてありますが、セキュリティーのためには 不必要なデーモンは起ち上げないに限ります。 必要のないデーモンはコメントアウト(#をつける)しておきましょう。

たとえば、ssh が使える環境であれば、telnetd は要りませんし、 ftp サーバでなければ ftpd も必要ありません。


FreeBSD の部屋


Apr. 1, 2000