[PREVIOUS CHAPTER]
[NEXT CHAPTER]
6 配送とコマンド、そしてそのアクセス制御
6.1 アクセス制御のポリシー
FML 2.1 (config.ph の CFVersion が 3)以降では
$PERMIT_POST_FROM
$REJECT_POST_HANDLER
$PERMIT_COMMAND_FROM
$REJECT_COMMAND_HANDLER
という4つの変数がアクセス制御の鍵を握っています。また自動登録をするか
否か?もアクセス制御の一部としてこれらの変数で制御されます。それぞれの
意味は
$PERMIT_POST_FROM だれからの投稿を許すか?
$REJECT_POST_HANDLER メンバー以外からの投稿があったらどうするか?
$PERMIT_COMMAND_FROM だれからのコマンドを許すか?
$REJECT_COMMAND_HANDLER メンバー以外からのコマンドが来たらどうするか?
デフォールトのMLサーバの挙動は
メンバーのみ(members_only) 投稿/コマンドの使用 が可能
もしメンバー以外から来たら許否(reject)
です。 config.ph のデフォールトは
$MAIL_LIST = "elena\@$DOMAINNAME";
$PERMIT_POST_FROM = "members_only";
$REJECT_POST_HANDLER = "reject";
$CONTROL_ADDRESS = "elena-ctl\@$DOMAINNAME";
$PERMIT_COMMAND_FROM = "members_only";
$REJECT_COMMAND_HANDLER = "reject";
のようになっています(elena MLの場合)。
6.2 自動登録とアクセス制御
4.0
自動登録は
"投稿がメンバーだけ"(members_only)の場合に
もしメンバー以外から来たら自動登録 → auto_subscribe へ変更
という設定をすることで行ないます(makefmlで制御できます)。config.ph 中
では
のようになることです。この場合はメンバー以外の人が
投稿した場合 → 許否(メンバーでないというメールが返る)
コマンド用のアドレスへメール
→ 自動登録
のような動きをします。
$REJECT_POST_HANDLER = "auto_subscribe";
にすれば「投稿用のアドレスにメンバー以外からメールが来たら自動登録」に
することもできます。
6.3 配送用のアドレス ($MAIL_LIST)
6.4 コマンド専用のアドレス ($CONTROL_ADDRESS)
makefml は listname-ctl というアドレスを用意します。$CONTROL_ADDRESS
という変数がそれです。
これはコマンド専用です。listname-ctl 用に include-ctl というファイルを
:include: するように設定されています。include-ctl では --ctladdr とい
うオプションがついているのがコマンド専用として fml.pl を起動するための
オプションです。このオプションを消さないで下さい。
コマンドを実行できる人の範囲(だれでも/メンバーだけ)は
$PERMIT_COMMAND_FROM で変更します。特別な場合を除きこの変数を変えるこ
とはないでしょう。デフォールトは members_only
6.5 配送とコマンドを同じアドレスで行なう場合
6.6 コマンド or 特殊目的専用のサーバへの変更
コマンドについてはデフォールトで makefml が listname-ctl というコマン
ド専用のアドレスを用意します。それ以外にもある特定の目的専用のサーバを
作ることもできます。例えばftpmail や、info@domain.xx.jp として自動的に
組織の概要を送り返すサーバを作るなどが考えられます。
$LOAD_LIBRARY = 'libfml.pl';
のように設定(default)したら コマンド専用だし、
$LOAD_LIBRARY = 'libftpmail.pl';
とすれば ftpmail 専用のアドレスに早変わりです(注意: ftpmail 用の設定は
別途必要です)。
それは $LOAD_LIBRARY が設定されていると、そのライブラリを評価して実行
するように作動します。この場合配送は行なわれません。絶対配送させないよ
うにするために --ctladdr というコマンドラインオプションをつけておくと
よいでしょう。
6.7 リモートで管理する際のアクセス制御
../remote_control 4.0../encryption 4.0
../utility_programs 6.17
SMTPでは所詮どうしようもないのでデフォールトではリモートでサーバを管理
するようにはなっていません。可能な限り避けるべきです。リモート管理より
Secure Shell で makefml を起動させるような仕組みがあるとよいですね。
Email Address と秘密鍵の組合せ もしくは 公開鍵暗合によりアクセス制御を
行なっています。詳細は「リモート管理」の章を見てください。
../remote_control 4.0
../remote_control 4.0
II アドレスについて
[PREVIOUS CHAPTER]
[NEXT CHAPTER]