この節は、新規および更新された構成ファイルオプションの表と、次の関連事項の情報から構成されます。
次の表に示す sendmail オプションは、通常、構成ファイルに宣言します。しかし、コマンド行から宣言することもできます。ただし、コマンド行を使用する際は、セキュリティ上のリスクを避けるために root のアクセス権を放棄します。
これらのオプションを宣言する際は、次の構文のいずれかを使用します。
O OptionName=argument # 構成ファイル用 -OOptionName=argument # コマンド行用 define(`m4Name',argument) # m4 の構成用 |
次の表では、sendmail の新規のオプションと更新されたオプションを示します。
表 21–2 sendmail の新規のオプションと更新されたオプション
オプション |
説明 |
---|---|
ClientPortOption |
詳細は、新しい ClientPortOptions オプションを参照してください。 |
ControlSocketName |
m4 名: confCONTROL_SOCKET_NAME 引数: filename。推奨ソケット名は /var/spool/mqueue/.smcontrol。セキュリティ保護のため、この UNIX ドメインソケットは、root でのみアクセス可能なディレクトリになければなりません。 この新しいオプションを設定すると、デーモン管理のための制御ソケットが作成されます。このオプションでは、名前付きソケットを使用して、外部プログラムから動作中の sendmail デーモンのステータスを制御したり照会したりすることを可能にします。このソケットは、INN ニュースサーバーへの ctlinnd インタフェースに類似しています。このオプションを設定しない場合、制御ソケットは一切利用できません。 |
DaemonPortOptions |
詳細は、DaemonPortOptions オプションにおける変更点を参照してください。 |
DataFileBufferSize |
m4 名: confDF_BUFFER_SIZE 引数: number この新しいオプションは、ディスクベースのファイルが使用される前の、メモリーバッファデータ (df) ファイルの最大サイズ (単位: バイト) を制御します。デフォルトは 4096 バイトです。Solaris オペレーティング環境では、変更の必要はありません。 |
DeadLetterDrop |
m4 名: confDEAD_LETTER_DROP 引数: filename この新しいオプションは、システム全体に渡る dead.letter ファイルのロケーションを定義します。以前は /usr/tmp/dead.letter にハードコード化されていました。このオプションを設定する必要はありません。 |
DontBlameSendmail |
NonRootSafeAddr と呼ばれる新しい引数が追加されました。 .forward プログラムを実行したり、ファイルの所有者としてそのファイルへ配信するのに十分な特権が sendmail にない場合、アドレスは安全でない (unsafe) とマーク付けされます。さらに、RunAsUser が設定されている場合には、ユーザーは .forward プログラム内のプログラムを使用したり、ファイルへ配信したりすることができません。これらの問題を解決するために、新しい引数 NonRootSafeAddr を使用します。 |
DontProbeInterfaces |
m4 名: confDONT_PROBE_INTERFACES 引数: true または false。デフォルトは false。 このオプションを true に設定すると、sendmail は、すべてのローカルインタフェースの名前およびアドレスをクラス w ($=w) に挿入しません。したがって、これらのアドレスのサポートを同時に含める必要があります (たとえば、mailertable エントリに)。そうしないと、これらのインタフェースアドレスへのメールは構成エラーで戻されます。ただし、このオプションを設定すると、起動が速くなります。 |
LDAPDefaultSpec |
m4 名: confLDAP_DEFAULT_SPEC 引数: 適切な定義を持つクラススイッチ (たとえば、-hhost、-pport、-dbind DN)。 この新しいオプションでは、LDAP マップのデフォルトのマップ指定が可能になります。K コマンドで個々のマップ指定を別途指定しない限り、指定したデフォルトの設定がすべての LDAP マップに使用されます。このオプションは、LDAP マップを定義する前に設定します。 |
MaxAliasRecursion |
m4 名: confMAX_ALIAS_RECURSION 引数: number このオプションは、別名回帰の最大の深さを指定します。デフォルトは次の通りです。 V1/Sun 構成ファイル (この構成ファイルの使用は推奨されません) の場合は、50。 その他のバージョンの構成ファイルの場合は、10。 |
MaxHeadersLength |
m4 名: confMAX_HEADERS_LENGTH 引数: number このオプションは、すべてのヘッダーを合計した長さの最大値を指定し、「サービス拒否」攻撃の防止に使用できます。デフォルトは 32768 です。16384 より小さい値を使用すると、警告が出されます。通常、Solaris オペレーティング環境では、デフォルト値を変更する必要はありません。 |
MaxMimeHeaderLength |
m4 名: confMAX_MIME_HEADER_LENGTH 引数: number このオプションは、特定の MIME ヘッダーフィールド値の最大長として文字数 x を設定します。さらに、これらのヘッダー内のパラメータに対し最大長 y を指定できます。これらは x/y のように組み合わせて使用します。/y を指定しない場合は、x の半分の値が使用されます。値を何も指定しない場合は、デフォルト値は 0 で、チェックが行われないことを表わします。このオプションは、メールユーザーエージェントを「バッファオーバーフロー」攻撃から防御するために意図されたものです。推奨値は 256/128 から 1024/256 です。128/40 より小さい値を使用すると、警告が出されます。 |
MaxRecipientsPerMessage |
引数: number このオプションでは、1 つの SMTP 封筒内の受信数が指定した数以下となります。引数の最小値は 100 です。このオプションは今までどおりコマンド行からでも、構成ファイルからでも宣言できます。ただし、一般ユーザーは、コマンド行からこのオプションを設定することにより、sendmail -bs で送信されたメッセージをオーバーライドできるようになりました。この場合は、sendmail は root 特権を放棄しません。 |
PidFile |
m4 名: confPID_file 引数: PidFile と ProcessTitlePrefix オプションの追加の引数を参照してください。 この新しいオプションは、pid ファイルのロケーションを定義します。ファイル名は、開かれる前にマクロ展開されます。デフォルトは /var/run/sendmail.pid です。 |
PrivacyOptions |
詳細は、PrivacyOptions オプションにおける変更点 を参照してください。 |
ProcessTitlePrefix |
m4 名: confPROCESS_TITLE_PREFIX 引数: 詳細は、PidFile と ProcessTitlePrefix オプションの追加の引数を参照してください。 この新しいオプションは、/usr/ucb/ps auxww のリストに表示されるプロセスタイトルの接尾辞文字列を指定します。この文字列はマクロ処理されます。Solaris オペレーティング環境では、変更は必要ありません。 |
QueueLA |
m4 名: confQUEUE_LA 引数: number デフォルト値が、8 から、システム起動時のオンラインプロセッサー数 × 8 に変更されました。プロセッサが 1 つだけのマシンの場合には、この変更の影響はありません。この値を変更すると、デフォルト値がオーバーライドされ、プロセッサ数が考慮されなくなります。したがって、値を変更する場合は、その影響を十分に考慮する必要があります。 |
QueueSortOrder |
m4 名: confQUEUE_SORT_ORDER host 引数を指定すると、ソートの前にホスト名を前後逆に入れ替えるようになりました。これによってドメインでソートされるため、待ち行列が一括して実行されます。この改善により、接続キャッシュの使用機会が増えます (接続キャッシュがある場合)。 新しい filename 引数では、待ち行列がファイル名でソートされます。これによって、待ち行列の実行を準備する際に、各待ち行列ファイルを開いて読み取る必要がなくなります。 |
RefuseLA |
m4 名: confREFUSE_LA 引数: number デフォルト値が、12 から、システム起動時のオンラインプロセッサー数 × 12 に変更されました。プロセッサが 1 つだけのマシンの場合には、この変更の影響ありません。この値を変更すると、デフォルト値がオーバーライドされ、プロセッサ数が考慮されなくなります。したがって、値を変更する場合は、その影響を十分に考慮する必要があります。 |
RrtImpliesDsn |
m4 名: confRRT_IMPLIES_DSN 引数: true または false この新しいオプションを設定すると、Return-Receipt-To: ヘッダーによって、配信ステータス通知 (DSN: Delivery Status Notification) の要求が生成されます。この要求は、ヘッダーに指定されているアドレスではなく、封筒の送信側に送られます。 |
SendMimeErrors |
m4 名: confMIME_FORMAT_ERRORS 引数: true または false デフォルトは true になりました。 |
Timeout |
詳細は、Timeout オプションにおける変更点を参照してください。 |
TrustedUser |
m4 名: confTRUSTED_USER 引数: user name または user numeric ID この新しいオプションでは、root ではなくユーザー名を指定して重要なファイルを所有することが可能になります。このオプションを設定すると、生成された別名のデータベースおよび制御ソケット (構成されている場合) は自動的にそのユーザーが所有者となります。このオプションには HASFCHOWN が必要です。HASFCHOWN の詳細は、sendmail の新しいコンパイルフラグを参照してください。 別名マップを再構築できるのは、TrustedUser ユーザー、root、クラス t ($=t) ユーザーに限られます。 |
XscriptFileBufferSize |
m4 名: confXF_BUFFER_SIZE 引数: number この新しいオプションは、ディスクベースのファイルが使用される前のメモリバッファトランスクリプト (xf) ファイルの最大サイズ (単位: バイト) を制御します。デフォルトは 4096 バイトです。Solaris オペレーティング環境では、変更の必要はありません。 |
次の表では、廃止された sendmail の構成ファイルオプションについて記述します。
表 21–3 廃止された sendmail の構成ファイルオプション
オプション |
説明 |
---|---|
AutoRebuildAliases |
このオプションを設定すると「サービス拒否」攻撃が可能になるため、このオプションは廃止されました。ftp://ftp.sendmail.org から入手できる sendmail 配布の一部である『RELEASE NOTES』を参照してください。以前は、このオプションを設定することで別名ファイルを再構築している間に (そのファイルがまだ不安定な状態で)、sendmail プロセスを kill することができました。 |
MeToo |
このオプションは、現在デフォルトで True になっており、廃止されました。ftp://ftp.sendmail.org から入手できる sendmail 配布の一部である『RELEASE NOTES』を参照してください。 |
新しい ClientPortOptions オプションは、発信接続用で、DaemonPortOptions オプションに類似しています。このオプションは、一連の key=value ペアからなるクライアント SMTP オプションを設定します。このオプションを宣言するには、次のいずれかの構文を使用します。この例には構文を示すために 2 つのペアが示されていますが、実際には 1 つまたは複数のペアを指定することができます。
O ClientPortOptions=pair,pair # 構成ファイル用 -OClientPortOptions=pair,pair # コマンド行用 define(`confCLIENT_OPTIONS',`pair,pair') # m4 構成用 |
次の表では、このオプションの新しいキーを示します。
表 21–4 ClientPortOptions の新しいキー
キー |
説明 |
---|---|
Addr |
アドレスマスクを指定します。この値は、ドット表記の数値アドレス、またはネットワーク名を指定できます。ペアを省略すると、デフォルトは INADDR_ANY になり、どのネットワークからの接続も許可されます。 |
Family |
アドレスファミリを指定します。このキーのデフォルト値は AF_INET の inet です。その他の値には、AF_INET6 用の inet6、AF_ISO 用の iso、AF_NS 用の ns、AF_CCITT 用の x.25 があります。 |
Listen |
待機待ち行列のサイズを指定します。このキーのデフォルトは 10 です。Solaris オペレーティング環境では、変更の必要はありません。 |
Port |
待機ポートの名前と数を指定します。このキーのデフォルト値は smtp です。 |
RcvBufSize |
TCP/IP 送信バッファのサイズを指定します。このキーにはデフォルト値はなく、サイズが自動的に指定されることはありません。オプションでゼロより大きい値を設定すると、その値が使用されます。Solaris オペレーティング環境では、このバッファのサイズを制限する必要はありません。 |
Modifier |
sendmail のフラグを指定します。フラグ h は、接続パラメータで選択されたかデフォルトで選択されたかにかかわらず、HELO または EHLO コマンドに、発信インタフェースアドレスに対応する名前を使用します。 |
下記に示す 2 つの表は、このオプションの 2 つの新しいキー、および新しいキーの 1 つである Modifier キーのいくつかの特定の値を示したものです。このオプションを宣言するには、次のいずれかの構文を使用します。この例では、pair は key=value を表しています。この例では構文を示すために 2 つのペアが示されていますが、実際には 1 つまたは複数のペアを指定することができます。
O DaemonPortOptions=pair,pair # 構成ファイル用 -ODaemonPortOptions=pair,pair # コマンド行用 define(`confDAEMON_OPTIONS',`pair,pair') # m4 構成用 |
セキュリティ上のリスクを避けるため、コマンド行からこのオプションを設定すると、sendmail は root アクセス権を放棄します。
次の表では、DaemonPortOptions オプションの 2 つの新しいキーを示します。
表 21–5 DaemonPortOptions の新しいキー
キー |
説明 |
---|---|
Name |
sendmail に対するユーザー定義可能な名前を指定します。この名前は、エラーメッセージやロギングに使用されます。デフォルトは MTA です。 |
Modifier |
sendmail に対する値を指定します。値は、区切り文字で区切らずに連続してリストすることができます。指定可能な値は、表 21–6 を参照してください。 |
次の表では、新しい Modifier キーの値を示します。
表 21–6 DaemonPortOptions の Modifier キーの値
値 |
説明 |
---|---|
C |
ホスト名の正規化を行いません。 |
E |
ETRN コマンドを許可しません。 |
a |
認証を要求します。 |
b |
このメールを受け取るインタフェースにバインドします。 |
c |
ホスト名の正規化を行います。この値は、構成ファイルでの宣言でのみ使用します。 |
f |
完全指定であるホスト名を要求します。この値は、構成ファイルでの宣言でのみ使用します。 |
h |
発信 HELO コマンドにインタフェースの名前を使用します。 |
u |
完全指定でないアドレスを許可します。この値は、構成ファイルでの宣言でのみ使用します。 |
次の表では、PidFile と ProcessTitlePrefix オプションの、追加のマクロ処理引数を示します。これらのオプションの詳細は、表 21–2 を参照してください。
表 21–7 PidFile と ProcessTitlePrefix オプションの引数
マクロ |
説明 |
---|---|
${daemon_addr} |
デーモンアドレスを指定します (たとえば、0.0.0.0) |
${daemon_family} |
デーモンファミリを指定します (たとえば、inet、inet6 など) |
${daemon_info} |
デーモン情報を指定します (たとえば、SMTP+queueing@00:30:00) |
${daemon_name} |
デーモン名を指定します (たとえば、MSA) |
${daemon_port} |
デーモンポートを指定します (たとえば、25) |
${queue_interval} |
待ち行列の実行間隔を指定します (たとえば、00:30:00) |
下記の表では、PrivacyOptions (popt) の新しい引数と更新された引数を示します。このオプションは、sendmail が root 特権を放棄することなく、コマンド行から宣言することができます。この sendmail オプションを宣言するには、次のいずれかの構文を使用します。
O PrivacyOptions=argument # 構成ファイル用 -OPrivacyOptions=argument # コマンド行用 define(`confPRIVACY_FLAGS',`argument') # m4 構成用 |
次の表では、PrivacyOptions オプションの新しい引数と更新された引数を示します。
表 21–8 PrivacyOptions の新しい引数と更新された引数
引数 |
説明 |
---|---|
goaway |
noetrn フラグと noreceipts フラグは許可されなくなりました。 |
nobodyreturn |
この引数は、オリジナルのメッセージの本文を配信ステータス通知に含まないことを sendmail に知らせます。 |
noreceipts |
この引数を設定すると、配信ステータス通知 (DSN: Delivery Status Notification) が発行されません。 |
次の表では、Timeout オプションにおける変更点についての情報を示します。特に、この sendmail オプションには、いくつかの新しいキーワードと、ident の新しい値が追加されています。Solaris オペレーティング環境では、この表に示されているキーワードのデフォルトの値を変更する必要はありません。しかし、変更を行う場合には、keyword=value 構文を使用します。value は時間の間隔です。次の例を参照してください。
O Timeout.keyword=value # 構成ファイル用 -OTimeout.keyword=value # コマンド行用 define(`m4_name', value) # m4 構成用 |
セキュリティ上のリスクを避けるため、コマンド行からこのオプションを設定すると、sendmail は root アクセス権を放棄します。
キーワード |
デフォルト値 |
説明 |
---|---|---|
control |
2m |
m4 名: confTO_CONTROL 制御ソケット要求を満たすためだけに使用される時間の合計を制限します。 |
ident |
5s |
m4 名: confTO_IDENT IDENT パケットをドロップするサイトへのメーリングに関連する一般的な遅延を防ぐため、デフォルトは 30 秒ではなく、5 秒になっています。 |
queuereturn |
5d |
m4 名: confTO_QUEUERETURN 値 now を含めると、エントリは、配信を試行することなく、待ち行列からただちに返されます。 |
resolver.retrans |
varies |
m4 名: confTO_RESOLVER_RETRANS リゾルバの再伝送時間の間隔を秒数で設定します。この値は、resolver.retrans.first と resolver.retrans.normal に適用されます。 |
resolver.retrans.first |
varies |
m4 名: confTO_RESOLVER_RETRANS_FIRST メッセージ配信の最初の試みに対する、リゾルバの再伝送時間の間隔を秒数で設定します。 |
resolver.retrans.normal |
varies |
m4 名: confTO_RESOLVER_RETRANS_NORMAL 最初の配信の試みを除くすべてのリゾルバのルックアップに対する、リゾルバの再伝送時間の間隔を秒数で設定します。 |
resolver.retry |
varies |
m4 名: confTO_RESOLVER_RETRY リゾルバの照会を再伝送する回数を設定します。この値は Timeout.resolver.retry.first と Timeout.resolver.retry.normal に適用されます。 |
resolver.retry.first |
varies |
m4 名: confTO_RESOLVER_RETRY_FIRST メッセージ配信の最初の試みに対する、リゾルバの照会を再伝送する回数を設定します。 |
resolver.retry.normal |
varies |
m4 名: confTO_RESOLVER_RETRY_NORMAL 最初の配信の試みを除くすべてのリゾルバのルックアップに対する、リゾルバの照会を再伝送する回数を設定します。 |