[PREVIOUS CHAPTER]
[NEXT CHAPTER]
8 FML 設定ファイルのフォーマットと構造
fml の設定ファイル、メンバーリストは基本的に shell like な構造で記述さ
れていると期待されています。つまり基本的に # ではじまる行はコメント、
空行は飛ばす等の挙動を各ルーチンはしています。
以下では各設定ファイルのフォーマットについて言及します。
8.1 members ファイルのフォーマットと構造
生のファイルのフォーマットは後述のようなものです。コマンドの挙動は 2.2
以前と以後でちょっと違います。2.2 以降のmembersコマンドでは一般ユーザ
には下のようなフォーマットは見えません。すでにいなくなったメンバーの情
報をだすべきではないからです。admin members では後述する生のフォーマッ
トが見えてしまいます。一応知っておいて下さい。
$MEMBER_LIST (default members) で定義されるファイルは
のような形をしています。歴史的理由により現在では
# の後空白 でコメントアウトされていてもメンバーチェックの対象になる
## ではじまるところはコメント
となっています。よって上の例では ##BYE の行は無視されますが、それ以外
の アドレス1 〜 アドレス5 (4を除いて) すべてがメンバーチェックの際には
対象となります。
[歴史]
この動作は 1.2 release version の直後、自動登録を拡張する際に導入され
ました。またこの導入のため # off と # skip はどう違う?という疑問がそ
の後生まれることになりました。
なおメンバーファイルとしては各行のアドレスより後ろの部分は
何にも使われていませんので、勝手に使って構いません。
しかしながら、自動登録の場合は $MEMBER_LIST と $ACTIVE_LIST は同じもの
($MEMBER_LIST)が使われます。よってそのフォーマットは $ACTIVE_LIST 形
式であると仮定する必要があります。
8.2 actives ファイルのフォーマットと構造
$ACTIVE_LIST (default actives) で定義されるファイルは $MEMBER_LIST と
同様の構造を持ちます。
しかし actives ファイルは拡張された表現として各アドレスのオプションを
行の残りの部分に持つことができます。
アドレス オプション # コメント
注意:なお、それぞれの↑ブロックの間には必ず一つ以上の SPACE
か TAB があると仮定しています。
よって勝手に何かを書いた場合オプションとみなされます。付加情報は # コ
メント として行の最後にでも書いて下さい。この辺は shell と同じです。
現在のルーチンは V2 のみを理解します。よって V1 -> V2 に変換する必要が
あります。この変換は
libfml.pl で ChangeMemberList が呼ばれた時
つまりメンバーリスト等へのなんらかの変更を行なう時に自動的に行なわれま
す。
8.3 actives と members の違い
フォーマット的には上述の通りです。後は自動登録の章で述べられている通り
members はメンバーであるか否か?の認証、 actives は配送リストです。
自動登録では members 一つを認証と配送リスト両方に使っています。そのた
め表現の拡張が必要だったわけです。
8.4 複数のメンバーリスト、複数の配送リスト
@ACTIVE_LIST 複数の配送リスト
@MEMBER_LIST 複数のメンバーリスト
を定義できます。地方ごととか組織ごとにリストを管理するのに便利かも知れ
ません。
@ACTIVE_LIST plural member lists
@MEMBER_LIST plural delivery lists
デフォールトでは @ACTIVE_LIST は $ACTIVE_LIST と同じになります。
@MEMBER_LIST は members と members-admin です。
歴史: 最初に管理者を設定して後はリモートですべてをおこなうという目的の
ために拡張されました。
***
actives members のバックアップについて => ../daily 6.2
8.5 msendrc ファイルのフォーマットと構造
msendrc は $MSEND_RC で定められる場所におかれます。そのフォーマットは
アドレス 次回に送る最初の記事番号
です。msednrc は msend.pl が制御するログファイルです。msend.pl は
$ACTIVE_LIST を見て、
ということを msendrc に対して行ないます。msend.pl 以外のプログラムが
msendrc をいじることはありません。
8.6 パスワードファイルのフォーマットと構造
../utility_programs 6.17../remote_control 4.0
リモート管理の時の認証で用いるパスワードを保存しているファイルは
$PASSWD_FILE でデフォールトでは $DIR/etc/passwd です。フォーマットは
../remote_control 4.0
アドレス cryptされたパスワード
です。つまり UNIX 伝統のパスワードファイル形式の先頭の2つが空白で区切
られたものです。#crypt(3) についてはマニュアル参照
$REMOTE_ADMINISTRATION_AUTH_TYPE = "md5";
../remote_control 4.6
と設定されている時は fml.pl の crypt 関数は crypt(3) ではなく MD5 の値
を返すようになります。これは MD5.pm を用いた実装なので perl 5 であるこ
とと MD5-1.7.tar.gz のインストールが必要です。MD5.pm のソースは fml の
directory に一緒に置いてあります。
admin コマンドには initpass というパスワード初期化コマンドがあります。
あるアドレスをこのファイルへ登録する時などは makefml passwd を使うと良
いでしょう。makefml の使い方については INSTALL ファイルを参照。
8.7 FMLインストール後の maintenance と version up に関して
[PREVIOUS CHAPTER]
[NEXT CHAPTER]