[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:02705] smtpd_restriction_classes の使い道



関根@SDRIです

smtpd_restriction_classes について質問があります。
対象としているバージョンは 1.1.11 です。

smtpd_restriction_classes については man ページに定義が記載されてい
るのと、FAQ に使用例があります。ただし、FAQ の使用例では、 chroot
jail による制限に起因する問題の回避のためだけに使われています。
google で検索しても FAQ 以外の具体的な使用例がなく、man ページを読む
だけでは感じがつかめませんでしたので質問します。

本来の使用目的について:

この変数の本来の使用目的は
  smtpd_restriction_classes = warn_unknown_client, require_valid_fqdn
  warn_unkown_client = warn_if_reject, reject_unknown_client
  require_valid_fqdn = reject_invalid_hostname,
		       reject_unknown_hostname,
		       reject_non_fqdn_hostname
といった定義をし、これを
  smtpd_helo_restrictions
  smtpd_recipient_restrictions
  ...
などの値に使用することで可読性を向上するということでしょうか?

FAQ での使用例について:

  smtpd_*_restrictions で マップファイル(1) を検索した結果が別
  の マップファイル(2) の参照だった場合、マップファイル(2) を
  動的に読み込むことになる。しかしその マップファイル(2) を読
  み込む時点ではchroot jail の中(かもしれない)なので、意図した
  場所に マップファイル(2) がなく、読み込みに失敗する(かもしれ
  ない)。smtpd_restriction_classes から参照される変数の中に
  マップファイル(2) を明示しておくことで、chroot jail に入る前
  に マップファイル(2) を(静的に)読み込んでおくことができる。

ということが FAQ にある

  冗長な smtpd_restriction_classes は Postfix が chroot jail 
  に入る前にどの検索テーブルを開くかを知るために必要です。単
  なる実装の産物です。

の意味でしょうか?

chroot jail の中に マップファイル(2) を置けば済みそうですが、
混乱を避けるためなのか、マップファイル(1) の検索結果に直接マッ
プファイルが出てくると(software)エラーになる制限が実装されてい
ます。

しかし、access(5) の man ページにはこの制限が書かれていません。
--
SEKINE Tatsuo: Red Hat 9 の postfix が 1.1.11 なので…
 http://www.sdri.co.jp/~tsekine/
 tsekine@xxxxxxxxxx(business)	System Design & Research Institute Co.,Ltd.
 tsekine@xxxxxxxx(private)	Yokohama Linux Users Group

Follow-Ups
[postfix-jp:02706] Re: smtpd_restriction_classes の使い道, ARAKI Yasuhiro

[検索ページ] [Postfix-JP ML Home]