[PREVIOUS CHAPTER] [NEXT CHAPTER]

7 アドレス関係

    7.1	コマンドコントロール専用のアドレス
    ../MTA 5.1

    makefml が作るデフォールトの config.ph では

    	$CONTROL_ADDRESS = "Elena-ctl\@$DOMAINNAME";

    のように設定されています。
    注意: この変数はFMLにどのアドレスを使っているかを知らせるためのもので
    この変数がOSの挙動を変えているわけではありません。ヘッダなどの表示にも
    使われています。

    見本では コマンド専用の Elena-ctl アドレス宛のメールは include ではな
    く include-ctl というファイルを :include: 構文で呼び出すように設定され
    ています(include-ctl では fml.pl --ctladdr という形で呼び出す設定がさ
    れているのが重要なポイントです)。

    Elena-ctl宛のメールはコマンドのルーチンだけしか呼ばないようになります。
    つまりこのアドレスにくれば間違ったシンタックスのメールがきても配送はし
    ません。ちなみに

    	'Elena-ctl';
    	'Elena-ctl@axion.phys.titech.ac.jp';

    どちらでもいいんですが、フルにアドレスを書く方が良いです。

    最もローカルからコマンドメールを出す時のことを考えると、
    フルアドレスじゃないほうが望ましいという意見もあります。
    ＃ sendmail.cf 等に依存した話なので断言はできませんが…

    なお、この場合/etc/aliasesに

    	Elena-ctl: :include:/var/spool/ml/elena/include-ctl

    とか書いてあることが必要です。ちゃんと書いたかチェックと newaliasesも
    忘れずに。makefml の指示通りにすればこの設定もしているはずですけど。

    7.2	メンバーチェックと自動登録について
    4.06.0

    設計思想としてＭＬサーバはあくまでプライベート・コミュニケイションの延
    長であると考えています。デフォールトではサーバーはメンバーチェックを行
    ないます。また、そういう意味で自動登録よりも管理者がチェックした後に手
    で登録を行なうのがより良いといえるでしょう。それはまた security 上も望
    ましいことです。
    4.0

    "makefml newml" が終った状態つまりデフォールトの挙動では『メンバーとし
    て登録されているアドレス』からのみ『投稿やコマンドメール』を送ることが
    できます。

    そうでない状態例えば自動登録などに設定を変更するなら"makefml config"を
    使って設定を変更するないしcfやconfig.phを手で編集する必要があります。
    自動登録は『メンバー以外からのメールが来た時に自動登録ルーチンを動かす』
    という風に設定します。

    メンバーのアクセス制御については Chapter 6.1 を参照し
    て下さい。『メンバー以外からのメールが来た時に何をするか？』は

    [$REJECT_COMMAND_HANDLER]

    	$REJECT_COMMAND_HANDLER = "auto_regist"; (default "reject")

    という変数で設定しています。

    デフォールトは reject でメンバー以外の人がメールをＭＬに投げると『あん
    たはメンバーでないからだめやねん』というメールを送り主に送り返します。
    これを auto_regist に設定すると自動登録を行ないます。

    自動登録は次のような設定が典型的です。

    	$CONTROL_ADDRESS               = "elena-ctl\@$DOMAINNAME";
    	$PERMIT_COMMAND_FROM           = "members_only";
    	$REJECT_COMMAND_HANDLER        = "auto_regist";

    「メンバー以外からのメールは拒否するが、その際自動登録処理」に入る。以
    下いくつかの設定パターンについて考えます。

    なお、昔は $ML_MEMBER_CHECK という変数で決めていましたが、今これは内部
    変数として使われています。HOOK等で使われるだろうということを想定し歴史
    的変数として残っています。$ML_MEMBER_CHECK が重要なのはこの変数によっ
    て メンバーリストと配送リストが異なるからです。

    [$PERMIT_POST_FROM    だれからの投稿を許すか？]
    [$PERMIT_COMMAND_FROM だれからのコマンドメールを許すか？]

    ○ メンバーチェックについて

    メンバーか否か？は $MEMBER_LIST (デフォールト members) の中に From: 行
    のアドレスが存在するか否か？を調べています。

    なお $REJECT_ADDR にマッチするアドレスはメンバーチェックに関わらず拒否
    されます。例えば MAILER-DAEMON からのＭＬへの投稿などがそれに当てはま
    ります。これはループなどの検出にも役に立ちます。

    モデレータの場合はちょっと違うのでモデレータの章を参照 5.0。

    ○ 自動登録について

    自動登録はキーワードを必要とするとか登録したいアドレスを指定したい時に
    どうするか？等に関して様々なバリエーションがあります。
    詳細については「自動登録」の章を見て下さい。
    4.0
    4.0

    メンバーチェックは @MEMBER_LIST で定義されたファイル群の中に(デフォー
    ルトでは $FILE_TO_REGIST, $MEMBER_LIST, そして $ADMIN_MEMBER_LIST)の中
    に From: 行のアドレスが存在するか否か？を調べています。そこに存在しな
    い場合は(例えば From: 行の)アドレスを自動的に $FILE_TO_REGIST
    ($MEMBER_LISTがデフォールト) に登録し管理者へその旨を知らせます。

    配送は $MEMBER_LIST のみに従って配送されます(注意)。つまり自動登録時は
    $MEMBER_LIST しか使っていないのです。なお、このモードでは $ACTIVE_LIST
    と $MEMBER_LIST は同じものに設定されています。

III 事例集

[PREVIOUS CHAPTER] [NEXT CHAPTER]