[PREVIOUS CHAPTER]
[NEXT CHAPTER]
8 アドレス関係
8.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 等に依存した話なので断言はできませんが…
8.2 メンバーチェックと自動登録について
5.07.0
設計思想としてMLサーバはあくまでプライベート・コミュニケイションの延
長であると考えています。デフォールトではサーバーはメンバーチェックを行
ないます。また、そういう意味で自動登録よりも管理者がチェックした後に手
で登録を行なうのがより良いといえるでしょう。それはまた security 上も望
ましいことです。
5.0
"makefml newml" が終った状態つまりデフォールトの挙動では『メンバーとし
て登録されているアドレス』からのみ『投稿やコマンドメール』を送ることが
できます。
そうでない状態例えば自動登録などに設定を変更するなら"makefml config"を
使って設定を変更するないしcfやconfig.phを手で編集する必要があります。
自動登録は『メンバー以外からのメールが来た時に自動登録ルーチンを動かす』
という風に設定します。
メンバーのアクセス制御については Chapter 7.1 を参照し
て下さい。『メンバー以外からのメールが来た時に何をするか?』は
[$REJECT_COMMAND_HANDLER]
$REJECT_COMMAND_HANDLER = "auto_regist"; (default "reject")
という変数で設定しています。
デフォールトは reject でメンバー以外の人がメールをMLに投げると『あん
たはメンバーでないからだめやねん』というメールを送り主に送り返します。
これを auto_regist に設定すると自動登録を行ないます。
自動登録は次のような設定が典型的です。
$CONTROL_ADDRESS = "elena-ctl\@$DOMAINNAME";
$PERMIT_COMMAND_FROM = "members_only";
$REJECT_COMMAND_HANDLER = "auto_regist";
「メンバー以外からのメールは拒否するが、その際自動登録処理」に入る。以
下いくつかの設定パターンについて考えます。
[$PERMIT_POST_FROM だれからの投稿を許すか?]
[$PERMIT_COMMAND_FROM だれからのコマンドメールを許すか?]
○ メンバーチェックについて
メンバーか否か?は $MEMBER_LIST (デフォールト members) の中に From: 行
のアドレスが存在するか否か?を調べています。
なお $REJECT_ADDR にマッチするアドレスはメンバーチェックに関わらず拒否
されます。例えば MAILER-DAEMON からのMLへの投稿などがそれに当てはま
ります。これはループなどの検出にも役に立ちます。
モデレータの場合はちょっと違うのでモデレータの章を参照 6.0。
○ 自動登録について
自動登録はキーワードを必要とするとか登録したいアドレスを指定したい時に
どうするか?等に関して様々なバリエーションがあります。
詳細については「自動登録」の章を見て下さい。
5.0
5.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]