FML を RaQ2 にインストールする。 ---------------------- 準備 事前に uuencode/uudecode のインストールをしておかないと、mget が 動作しない。 fml の後に uuencode/uudecode のインストールをした場合は、 % cd /usr/local/fml % ./makefml config mailinglistname などとして、設定を再度行うこと。これで config.ph ファイルの UUENCODE 変数に /bin/uuencode などの記述が入るようになる。 ---------------------- FML インストール /etc/passwd に fml:*:109:113:FML manager:/tmp:/bin/sh を追加。 su fml してから、 % mkdir /usr/local/fml % mkdir /home/ml % cd /usr/local/src % tar xfz fml-2.2.1.tar.gz % cd fml-2.2.1 % perl makefml install でインストール開始。FML ディレクトリ、スプールを設定にあわせる。 適当に情報を設定して完了。 ---------------------- ML 追加 % cd /usr/local/fml % ./makefml newml test-ml で追加。/etc/aliases の追加には問題がある。 fml, fml-ctl などのwrapperを使わざるを得ないのだが、 これを必ず /usr/adm/sm.bin 以下にコピーしておくこと。(後述) wrapper は、 % cd /home/ml/test-ml % make fml とすることで作成される。ただしオーナーが root でないとダメのようだ。 test-ml: :"|/usr/adm/sm.bin/test-ml.fml" test-ml-ctl: :"|/usr/adm/sm.bin/test-ml.fml-ctl" test-ml-request: test-ml-admin test-ml-admin: yasuda owner-test-ml: yasuda を /etc/aliases に追加 su して # newaliases ---------------------- ML 削除 % rm -rf /home/ml/test-ml /etc/aliases のエントリを削除 ---------------------- ML 設定 メンバー登録 % cd /usr/local/fml % ./makefml adduser test-ml yasuda@ebony.rieb.kobe-u.ac.jp メンバー削除 % cd /usr/local/fml % ./makefml byeuser test-ml yasuda@ebony.rieb.kobe-u.ac.jp 設定変更 % cd /usr/local/fml % ./makefml config test-ml これで Subject の目印や、自動登録の方法などを決める。 1. でメンバー以外からのコマンドメイルが来たら auto regist, 2. の auto regist auth は no-keyword , unsubscribed は address で設定。このケースだと、 test-ml-ctl@... に一通なんでも良いから送ると自動登録。抜けるときは body に # unsubscribe と書いて送ればOKとなる。 ------------------------------ crontab 設定 matome 送りなどには crontab の設定が必要。 /home/ml/etc/crontab/fml にある設定を参考に、 # msend for test-ml 0 * * * * /usr/local/fml/msend.pl /home/ml/test-ml -q を root の crontab に加えればよい。 が、Cobalt の場合は /etc/crontab に記入するか、/etc/cron.hourly などの 中に入れるなどするのが良い。 今回は /etc/cron.hourly に #!/bin/sh echo '/usr/local/fml/msend.pl /home/ml/test-ml -q' | su - fml という記述を含める。 ------------------------------------------------------------------ smrsh によるセキュリティ制限 RaQ2 に普通に FML をインストールして /etc/aliases に登録し、実行すると、 下記のようなエラーが出る。 ----- The following addresses had permanent fatal errors ----- :"|/usr/adm/sm.bin/ml/test-ml/fml" (expanded from: test-ml) ----- Transcript of session follows ----- Message delivered to mailing list test-ml sh: fml not available for sendmail programs 554 :"|/usr/adm/sm.bin/ml/test-ml/fml"... Service unavailable この「not available for sendmail programs」というのは sendmail のエラーメッセージではなく /etc/sendmail.cf 中に指定されている smrsh の吐くメッセージ。これによるセキュリティガードに引っかかっている。 man smrsh をすると判るが、/usr/adm/sm.bin/ 以下に、実行して良い ラッパープログラムの名前を書かないとダメ。実際には procmail -> /usr/bin/procmail というようなリンクになっている。 そこで FML のラッパープログラムを test-ml.fml -> /home/ml/test-ml/fml のようにすると問題なく通る。 http://www.sendmail.org/faq/faq.txt の Q3.11 などを見ると、/etc/shells に /SENDMAIL/ANY/SHELL/ の一行を加えると良いとあるが、これをやってもだめ。 最終的に wrapper プログラムを新たに作り直して、/home/ml/nfml.bin/nfml を作り、/usr/adm/sm.bin 以下にここへのリンクを作って置いた。 /etc/aliases には test-ml: :"|/usr/adm/sm.bin/fml test-ml" test-ml-ctl: :"|/usr/adm/sm.bin/fml-ctl test-ml" test-ml-request: test-ml-admin test-ml-admin: yasuda owner-test-ml: yasuda というような形態で引数にメイリングリスト名を載せて使う。 /home/ml/test-ml/fml などは使わない。 ------------------------------------- 1999.9.8 Y.Yasuda yasuda@cobaltqube.org