sendmail バージョン 8.12 には、新しい構成ファイル /etc/mail/submit.cf が含まれています。この新しいファイル submit.cf を使用して、sendmail をデーモンモードではなく、メール差し出しプログラムモードで実行できます。デーモンモードとは異なり、メール差し出しプログラムモードでは root 権限は必要ありません。そのため、この新しいパラダイムを使用すると、セキュリティが向上します。
submit.cf の機能については、次のリストを参照してください。
sendmail は、MSP (メール差し出しプログラム) モードでは submit.cf を使って実行します。submit.cf は、電子メールを送信したり、ユーザー以外の mailx のようなプログラムによって呼び出したりすることができます。-Ac オプションおよび -Am オプションについては、コマンド行の新しいオプションまたは推奨されないオプション の説明を参照してください。
submit.cf は、次の操作モードで使用します。
-bm デフォルトの操作モード
-bs 標準入力を使用して SMTP を実行する
-bt アドレスの解決に使用されるテストモード
submit.cf を使用している場合には、sendmail は SMTP デーモンとして動作しません。
submit.cf を使用している場合には、sendmail はクライアント専用のメールキューである /var/spool/clientmqueue を使用します。このキューにより、sendmail デーモンに配信されなかったメッセージが保持されます。クライアント専用キューにあるメッセージは、クライアントの「デーモン」によって配信されます。実際には、このデーモンが、クライアントキューを実行します。
デフォルトでは、sendmail は submit.cf を使用して、定期的に MSP キュー (クライアント専用キュー) である /var/spool/clientmqueue を実行します。
/usr/lib/sendmail -Ac -q15m |
次の事項に注意してください。
Solaris 9 オペレーティング環境をインストールまたはそれにアップグレードすると、submit.cf は自動的にインストールされます。
Solaris 9 オペレーティング環境をインストールする前に、submit.cf について計画および準備をする必要はありません。
構成ファイルを指定しないかぎり、sendmail は、必要に応じて、submit.cf を自動的に使用します。基本的に、sendmail は各タスクについて、submit.cf と sendmail.cf のどちらを使用するのが適切かを判断できます。
submit.cf を変更することはできません。
構成ファイル sendmail.cf は、デーモンモードで使用します。このファイルを使用すると、sendmail は、メール転送エージェント (MTA) として動作します。sendmail は、root によって起動されます。
/usr/lib/sendmail -L sm-mta -bd -q1h |
sendmail.cf 特有の他の機能については、次のリストを参照してください。
デフォルトでは、sendmail.cf は、ポート 25 および 587 で SMTP 接続を受け入れます。
デフォルトでは、sendmail.cf がメインキュー /var/spool/mqueue を実行します。
submit.cf が追加されたため、次の機能が変更されました。
sendmail バージョン 8.12 では、root だけがメインキューを実行できます。この変更の詳細については、mailq(1) のマニュアルページを参照してください。新しい作業手順については、キューディレクトリの管理 (作業マップ) を参照してください。
メール通信プログラムモードは、root 権限なしに実行されるため、sendmail が .forward などの特定のファイルにアクセスできないことがあります。この場合、sendmail に -bv オプションを追加すると、誤った項目が出力されることがあります。回避策はありません。
8.12 より前のバージョンの sendmail では、sendmail デーモンを実行しない場合、つまりデーモンモードで実行しない場合は、受信メールの配信を防止することしかできませんでした。バージョン 8.12 では、デフォルトの構成で、sendmail デーモンを実行しない場合でも、送信メールの配信を防止することができます。クライアントキューランナー (メール通信プログラム) を設定して、ローカル SMTP ポートのデーモンにメールを送信できるようにする必要があります。クライアントキューランナーが SMTP のセッションをローカルホストで開こうとした場合で、デーモンが SMTP ポートで待機していないときには、メールはキューにとどまります。デフォルトの構成では、デーモンが実行されます。そのため、デフォルト構成を使用する場合には、この問題は発生しません。ただし、デーモンを無効にした場合の解決方法については、代替構成を使用したメール配信の管理 (手順) を参照してください。