常に実行状態で待機し、要求があればそれに応じて なんらかの処理をするプログラムのことをデーモンといいます。例えば、いつどこから来るかわからない ftp (File Transfer Protocol) 接続要求に対しては、 「いつでもいらっしゃい」と待ち構えているプログラムが走って いないと要求を受け付けられません。 そこで、ftp のデーモン ftpd (プロトコル名の後ろに daemon を表す d がつく) を常に動かしておくことになります。
よく見るデーモンといえば、次のようなものたちでしょうか。
- ftpd (File Transter Protocol Daemon)
- telnetd (Telnet Daemon)
- sshd (Secure SHell Daemon)
- smtpd (Simple Mail Transfer Protocol Daemon)
- lpd (Line Printer spooler Daemon)
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 も必要ありません。