[japanese (nihongo)] [english (eigo)]

[管理者マニュアル|設定変更]

POEM 版 Majordomo 管理者マニュアル

このページには、Majordomo 1.94.4 + POEM patch によるメーリングリストの管理に関する情報を掲載します。

2003年6月1日以後に設置されるメーリングリストは、 Mailman を使用した新システムでのものとなります。
以下の説明は、旧システム (Majordomo) に関する説明です。

注意

このページで説明しているのは、 電子メールでコマンドを送って管理をする方法です。
Web ブラウザを使って管理作業をする方法については、 こちら をご覧ください。

INDEX

  • 基本的な知識
  • メーリングリストの設定
  • パスワード
  • 正規表現
  • アプルーバル(承認)
  • バウンスした(配信処理されなかった)メッセージ
  • ダイジェスト
  • アーカイブ
  • 司会 (モデレーション) - 司会者 (モデレータ) の仕事
  • 投稿の制限
  • 番号付け

    基本的な知識

    Majordomo は、メーリングリスト自動管理ソフトです。

    Majordomo は、投稿アドレスに送られた電子メールを、登録ユーザー全員に配付します。 また、電子メールに書かれたコマンドにより、ユーザーの登録や削除、メーリングリストの機能の変更などの管理を行なうことができます。

    電子メールアドレスをリストに追加するときは、次の2種類の方法が使えます。

        アドレス--    To: リスト名-request@jca.apc.org
        本文------    subscribe
    
    または
        アドレス--    To: majordomo@jca.apc.org
        本文------    subscribe リスト名
    
    または (日本語のメッセージが必要な場合)
        アドレス--    To: majordomo-j@jca.apc.org
        本文------    subscribe リスト名
    

    このほかにも、Majordomo はいくつかのコマンドを受け付けます。また、1 つの電子メールに、いくつかのコマンドをまとめて書き込むこともできます。 Majordomoのコマンド一覧は、help というコマンドで見ることができます。

    ただし、"help"で得られるコマンド情報は、一般の利用者にとって必要なものに限られています。 メーリングリストの管理者が使うコマンドは送られません。 また、これらの管理者コマンドはメーリングリスト毎に設定されるパスワードを知らなければ使うことができません。 とはいえ、「リストとパスワード」の組み合わせさえ知っていれば、誰でも使えるものです。 なお、Majordomoでのパスワードは、厳密な情報管理を意図するものではなく、無用な介入を最低限に抑えることを目的としたものです。

    不特定多数の人が使うように一般利用者向けに公開しているコマンドには、次のコマンドがあります。

        コマンド                               説明
        ----------------------------------     ------------------------
        subscribe list [address]           リストへの加入
        unsubscribe list [address]         リストからの脱退
        off list [address]                 配信の一時停止
        on list [address]                  配信の再開
        which [address]                      加入リストの参照
        who list                             加入者一覧
        intro list                           新規加入者用情報の閲覧
        info list                            リスト情報の閲覧
        index list                           保存記事一覧
        get list                             保存記事取り寄せ
        mget list                            複数の保存記事取り寄せ
        lists                                  リスト名一覧
        help                                   コマンド一覧
        end                                    コマンド終了
    

    これら(上記)のコマンドの説明については、Majordomo(またはMajordomo-J)宛に"help"と書いたメールを送って下さい。

    以下に、リスト管理コマンドを説明します。


    approve パスワード subscribe リスト名 [電子メールアドレス]
    approve パスワード unsubscribe リスト名 [電子メールアドレス]
    このコマンドは、管理者によってメーリングリストへの登録 (subscribe)や登録解除(unsubscribe)を行なうコマンドです。 公開コマンドの "subscribe" "unsubscribe"の前に、 "approve パスワード" を付け加えたものです。 (実際には「パスワード」の部分には、リストごとに設定されている パスワードを書き込みます)
    例: approve foo-bar subscribe mylist you@some.domain
    これは「you@some.domain」という電子メールアドレスを「mylist」 というメーリングリストに登録します。「mylist」のパスワードは、 「foo-bar」です。
    approve パスワード who リスト名
    anonymousリストに登録された参加者一覧を取り寄せます。 anonymousリストでは、パスワードを知らない一般の利用者は、誰が参加しているのかを知ることができません。

    passwd リスト名 旧パスワード 新パスワード
    これは、パスワードを変更するコマンドです。 「旧パスワード」には、これまでのパスワード、「新パスワード」に、 新しいパスワードを書き込みます。
    例: passwd mylist foo-bar k3-9dnXF
    「mylist」のパスワードを、「foo-bar」から「k3-9dnXF」に変更します。
    newintro リスト名 パスワード
    "intro " や "subscribe "のコマンドが送られてきたときに、返送するintroファイルを更新します。 "newintro"コマンドの次の行から、メールの最後まで、 または、行の先頭に「EOF」とだけ書かれた行までを、新しいintroファイルにします。
    例: newintro mylist foo-bar
    mylistへようこそ
    mylistは、わたしのリストです
    ...中略
    それでは、リストでお会いしましょう!
    EOF

    newinfo リスト名 パスワード
    "info "コマンドが送られてきたときに、返送するinfoファイルの内容を更新します。 "newinfo"コマンドの次の行から、メールの最後まで、または、行の先頭に「EOF」とだけ書かれた行までを、新しいinfoファイルにします。

    config リスト名 パスワード
    このコマンドによって、メーリングリストの設定ファイルを (configuration file)を取り寄せることができます。config ファイルには、設定の仕方や、設定項目の意味が書き込まれています。 このコマンドに使うパスワードは、リスト.passwd に記録されているパスワードでも、設定ファイルで設定した"admin_password" のどちらでも構いません。

    newconfig リスト名 パスワード
    このコマンドは、メーリングリストの設定ファイル (config file) の内容を更新します。 "newconfig"コマンドの次の行から、メールの最後まで、または、行 の先頭に「EOF」とだけ書かれた行までを、新しいinfoファイルにします。 このコマンドでは、config file全体 (configコマンドで入手するファイルと同じもの) をMajordomo に送信してください。 一部の設定だけを更新することはできません。
    configファイルの内容が確認・更新され、書き換えが終われば、 メーリングリストは新しい設定内容にしたがってコマンドを受け付けますから、 Majordomo への電子メールに複数のコマンドを書き込むような場合は注意してください。
    なお、configファイルの設定が間違っていると、Majordomo はその configファイルでの設定変更を行なわずに、エラーメッセージを発信者に送り返します。 このエラーメッセージは、エラーが発生した行を指摘するだけのものであり、全体としての configファイルは返送されません。
    ですから、このコマンドを使うときは、発信した電子メールを必ず保存しておくことをお勧めします。

    writeconfig リスト名 パスワード
    標準的な形式で、新しい configファイルを書き込みます。
    Writeconfigコマンドは、configファイルの形式が新しくなった場合にはコメントや初期値も書き換えます。 Majordomoに新しい機能が付加されたときに、どんなコマンドが加わったのかを知るためにも有益です。

    mkdigest ダイジェスト名 パスワード
    mkdigest ダイジェスト名 ダイジェスト送出エイリアス パスワード
    このコマンドは、強制的にメーリングリストのダイジェストを配信させます。
    2番目の書式は、セキュリティ上の理由で -outgoingアドレスを使わない場合の指定方法です。

    メーリングリストの設定

    まず、あなたのメーリングリストの設定ファイルを取り出しましょう。 電子メールを使って、本ファイルの最上段に記入されている majordomo アドレス宛に次の1行メッセージを送ります。
    config リスト名 パスワード
    「リスト名」と「パスワード」は、各メーリングリストの名称と管理用パスワードです。

    さて、このコマンドを送信すると、Majordomo から設定ファイル(config file) が返送されてきます。この設定ファイルの内容を変えれば、あなたのメーリングリストの運用方法を変更することができるわけです。 本ファイルの冒頭にある情報を見て、resendが使われている場合 ("Is resend used: yes"の場合)、majordomo とresendの両方の値を設定してください。

    resendを使っていなければ、majordomo の値を設定するだけですみます。

    設定ファイル(configuration file)には簡単な説明が書き込まれています。 設定ファイルの書き換え作業が終わったら、前述の "newconfig" コマンドを使って古い設定ファイルと差し替えて下さい。

    ダイジェストが設定されているときは、次のコマンドを使って、ダイジェスト用の設定ファイルも取り寄せて下さい。 そして、ダイジェスト版と majordomoサブシステムの設定値を設定して下さい。

    config ダイジェスト名 ダイジェストパスワード

    パスワード

    Majordomoではメーリングリストの設定を電子メールを使って行なうことができます。 そのため、無関係なユーザーが勝手にメーリングリストの設定を変更できないように、管理コマンドを利用するにはパスワードが必要です。 Majordomoで利用するパスワードには、管理用パスワードと承認用パスワードがあり、初期設定ではどちらも同じパスワードを使います。 パスワードを変更したい場合、または管理用パスワードと承認用パスワードを別々にしたい場合は、設定ファイルの admin_passwd(管理用パスワード)、approve_passwd(承認用パスワード)の値を書き換えてください。

    なお、approve_passwdは、approveコマンドで利用するパスワードです。

    正規表現

    設定オプションのいくつかのものは、perl形式の正規表現についての基本的な知識を使うことによって、 Majordomoに巧妙な動作をさせることができます。 正規表現は一連の文字パターンを表現する簡潔な方法です。 正規表現を駆使すれば、難しい仕事も簡単にこなすことができますが、ここでは、表面的な知識を紹介することにします。

    正規表現の最初と末尾を示すために「/」の文字が使われます。 文字や数字は、本来の意味で使われます。その他の文字は、特別な意味を持っていて、 それらのいくつかを以下に説明します。

      \@    ほとんどすべてのアドレスに`@'の文字が含まれているが、この文字
            の前には「\」(バックスラッシュ、または円記号)をつけて誤動作を
            防ぐ
      .     (ピリオド) すべての文字
      *     直前の文字がゼロ回、または1回以上繰り返される
      .*    あらゆる文字がゼロ回、または1回以上繰り返される
      +     直前の文字が1回、またはそれ以上繰り返される
      a+    "a"の文字が1回以上繰り返される
      \     後続の文字の特別な意味を打ち消す
      \.    ピリオド
      ^     文字列の先頭
      ^a    "a"で始まる文字列
      $     文字列の末尾
      a$    "a"で終る文字列
    
    Example 1.
            /cs\.umb\.edu/
    
      ピリオドの前に"\"が付いているので、ここのピリオドはピリオドそのもの
      です。したがって、以下のような"cs.umb.edu"を含む文字列を表します。
            cs.umb.edu
            foo.cs.umb.edu
            user@foo.cs.umb.edu
            users%foo.cs.umb.edu@greatcircle.com
    
    Example 2.
            /rouilj\@.*cs\.umb\.edu/
    
      `@'は特別な意味を持つ文字ですが、この前に`\'がついていますから、やは
      り`@'自身を表します。また、".*" はすべての文字が何回か連続する(文字
      が存在しない場合を含む)ことを意味します。したがって、以下のような文
      字列を表すことになります。
            rouilj@cs.umb.edu
            rouilj@terminus.cs.umb.edu
            arouilj@terminus.cs.umb.edu@greatcircle.com
    
      しかし、以下の文字列を表すものではありません。
            rouilj@umb.edu
            brent@cs.umb.edu
    
    Example 3.
            /^rouilj\@.*cs\.umb\.edu$/
    
      Example 2とよく似ていますが、先頭に`^'、末尾に`$'が付いているため、
      `r'で始まり、`u'で終る次の文字列を表すことになります。
            rouilj@cs.umb.edu
            rouilj@terminus.cs.umb.edu
    
      しかし、これは以下のような文字列は表しません。
            arouilj@terminus.cs.umb.edu@greatcircle.com
    
      この正規表現は、^と$を使って、`r'で始まり、`u'で終る文字列を表してい
      るからです。
    
    Example 4.
            /.*/
    
      この正規表現は、すべての文字列を表します。
    
    Example 5.
            /.\*rouilj/
    
      ここでは`*'の前に`\'がついているため、「ゼロ回以上の繰り返し」という
      特別な意味ではなく、`*'そのものを表します。しかし、その前の`.'は前に
      何もついていませんから、「すべての文字」という特別な意味は生きていま
      す。そのため、次のような文字列を表すことができます。
            a*rouilj
            s*rouilj
    
      しかし、`.'があるため、何か1文字が必要です。そのため、次の文字列を表
      すものではありません。
            *rouilj
    
      通常、すべての文字の比較は大文字と小文字が区別されますが、正規表現の
      後に`i'を付けることで、大文字と小文字の区別をしないで比較をすること
      ができます。
    
    Ecample 6.
           /aol\.com/i
    
      この例は、"AOL.com"、"AoL.cOm"などを表します。`i'を取り除いて、
    
          /aol\.com/
    
      このようにすると、"aol.com"を表すことはできますが、"AOL.com"などの大
      文字交じりの表記は表しません。
    
    
      文字と数字以外の文字には、`\'をつけておくほうが安全です。`/'を正規表
      現の中に含ませたい場合も同様に、前に`\'を付けます。つまり、`/'と`='
      の前に`\'を付けた次の正規表現は、
            /\/CO\=US/
    
      "/CO=US"を表します。`/'を含むX.400メールシステムのアドレスを登録した
      いときなどに使いますから覚えておいてください。
    

    アプルーバル(承認)

    何らかの承認が必要なときは、Majordomo から「承認確認」用テンプレート付きのメールが送付されます。 その内容を了承するときは、テンプレートにある "PASSWORD" を実際のパスワードに差し換えて、テンプレート部分を Majordomo 宛に送り返して下さい。

    Majordomo から送付される「承認確認」メールの題名は、すべて"APPROVE"で始まります。

    「承認」の作業は、Majordomo からのメールを待たなくとも "approve" コマンドで処理できます。例えば、該当する人が Majordomo にメールしなくても、"approve PASSWORD subscribe LIST ADDRESS" を使って誰かをリストに加えたり、 "approve PASSWORD unsubscribe LIST ADDRESS" を使って誰かをリストから外すことができます。このコマンド列の "PASSWORD" "LIST" "ADDRESS" の部分を実際のものに差し替えて Majordomo にメールするだけです。

    作業をJCAのシェルアカウントで行なう場合で、 pineなどの外部プログラムを起動できるメールソフトを使っている場合は、 approveコマンドにより、簡単に承認作業ができます。 approveコマンドの使い方は、approveコマンドのマニュアルを参照してください。

    バウンスした(配信処理されなかった)メッセージ

    メーリングリストに送ったメッセージが配信処理されない(バウンスする) ことがあります。この理由には、"subscribe" や "unsubscribe" など Majordomo に送るべき運用コマンドを間違えて投稿アドレスに送った場合や、 メッセージが長すぎる場合、管理者によって設定された特定の単語が本文に含まれる場合、 その他、いろいろな原因が考えられます。 なお、バウンスは、エラーではありません。

    バウンスしたメッセージは、Majordomo から管理者に転送されます。 これらのメッセージの題名は "BOUNCE" で始まり、 (1) バウンスが起きたメイリングリストの名称(複数のリストを管理している場合)と、 (2) バウンス理由が記されています。

    特にバウンスする理由も見当たらない問題のないメッセージであれば、 メッセージ冒頭に "Approved: password" という承認用ヘッダを付けて投稿アドレス宛に (注: Majordomo 宛ではありません) 送り返して下さい。

    具体的には次の作業を行ないます。

    1) 元投稿(Majordomo から回送されるメールの本文) をファイルとして自分が使っているディスクに保存し、 テキストエディタなどで最初の部分を削除してください。 たとえば、以下のようにファイルを編集します。

      From: majordomo@list.server         \
      To: your-list-approval@list.server    | これらの行は削除してください。
      Subject: BOUNCE: taboo_header found /
                                        - 空白行。ここまでを削除します。
      >From list-member@her.site  date    \
      Received: some long routing info      | 元のメールのヘッダ
      From: list-member@her.site            | この部分は必要ですが、最初の行
      To: your-list@list.server             | は不要です。
      Subject: Just a message             /
                                        - 空白行。必ず必要です。
      Hello.  I'm just writing to         \
      consume some bandwidth and            | 元のメール本文
      take up space in your mail            | すべて残しておいてください。
      spool!                              /
    
      基本的に、最初の空白行以後は、すべて保存します。
    
    2) メールの冒頭、元投稿の直前の行に "Approved: パスワード"の行を挿入します。
      Approved: sekrit                  <- この行を挿入します。"sekrit"は、
      >From list-member@her.site  date     この例のパスワードです。
      Received: some long routing info
      From: list-member@her.site
      To: your-list@list.server
      Subject: Just a message
    
      Hello.  I'm just writing to
      consume some bandwidth and
      take up space in your mail
      spool!
    
    3) 作成したファイルを該当メーリングリストの投稿アドレス(注: Majordomo 宛ではありません)にメールします。 このとき、電子メールソフトがメールにどんな変更も加えないように設定してあることに注意してください。 行の折り返しやインデント、余計な文字の追加、エンコードなどは解除して、 上記の変更を加えたファイルが、そのままの形で送られることをくれぐれも確認してください。

    これを受けた Majordomo は、今回は、"Approved:" コマンド行を認識し、パスワードをチェックします。 パスワードが正しければ、そのメールのヘッダ部分と "Approved:" コマンド行を削除して、元原稿だけをメーリングリストに配信します。

    この承認作業は、前述のapproveコマンドを使うと、簡単に済ませることができます。できます。詳しくはapproveのマニュアルを参照してください。

    ダイジェスト

    ダイジェストとは、何本かのメールをまとめて送信する仕組みです。 ダイジェストが送信されるタイミングは、特定の時刻、またはダイジェストファイルが指定のサイズを超えたときです。 ダイジェスト機能を使うと、メールの数を減らすことができますので、あまり頻繁にメールボックスを読まないメンバーがいる場合、そのユーザーをダイジェストリストに登録するといいでしょう。

    ダイジェストを送信するタイミングは、標準では毎日一回、特定の時刻、またはダイジェスト設定ファイルに記載されたサイズを超えた場合です。 送信時刻はシステム管理者が設定しますが、サイズについてはメーリングリストのオーナーが自由に変更できます。 また、次のコマンドを送ることで、強制的にダイジェストを送信させることができます。

    mkdigest ListName-digest password
    ダイジェストへのユーザーの登録は、通常のメーリングリストと同じように、 subscribeコマンドを使います。 たとえば、"list@jca.apc.org"のメンバーがダイジェスト (list-digest@jca.apc.org) に登録する場合、次のようなコマンドをmajordomo@jca.apc.org に送ります。
    subscribe list-digest
    unsubscribe list
    つまり、一度"list"をunsubscribeして、"list-digest"にsubscribeしなおします。

    ダイジェストの動作は、通常のメーリングリストと同様に設定ファイルの値を変更します。 ダイジェストは、通常のメーリングリスト名の後に"-digest" がつけられたメーリングリストです。たとえば "list"というメーリングリストのダイジェストは "list-digest"になります。この場合の設定ファイルは、 "config list-digest パスワード"のコマンドで取り寄せます。

    アーカイブ

    アーカイブは、メーリングリストの内容をホストコンピュータに保存しておき、必要に応じて過去のメールを取り寄せられるようにする仕組みです。

    JCAのメーリングリストでは、いくつかのアーカイブファイルの形式を使っています。 標準的なMajordomoでは、毎日、毎月、毎年のいずれかごとにメールをまとめたファイルを作ります。 また、メール単位でファイル化することも可能です。

    アーカイブのファイルは、indexコマンドでファイル名を読みだし、その中から必要なファイルをgetコマンドで取り寄せます。

    設定ファイルの"private_get"の値を変更することで、アーカイブファイルを取り寄せられるユーザーを制限することができます。 初期値は"yes"になっていて、メーリングリストの参加者以外のユーザーはアーカイブファイルを取り寄せることができません。

    また、設定ファイルの"private_index"の値を変更すると、同様に indexコマンドでアーカイブファイルの一覧を読みだすことができるユーザーを制限することができます。

    アーカイブに関するノート

    アーカイブにはメール以外のファイルを保存しておくことができます。 しかし、電子メールでアーカイブにメール以外の文書を保存する方法はありませんので、必要な場合は管理者に依頼してください。

    アーカイブされるファイルは、Majordomo の標準的なディレクトリ以外に保存することもできます。 必要な場合は管理者に依頼してください。

    司会 (モデレーション) - 司会者 (モデレータ) の仕事

    設定ファイルの"moderate"を"yes"に設定すると、 そのメーリングリストは「司会つき」(モデレーテッド) となります。 司会つきのメーリングリストでは、管理者や司会者が承認したメールだけをメーリングリストに流すことができます。

    メーリングリストが司会つきになっている場合、"Approved:" 行が記入されていないファイルは、すべて管理者にバウンスします。 これらのファイルをリストに配信するためには、前述のように、 "Approved:" 行を記入して投稿アドレスに送り返して下さい。

    approveコマンドで処理することもできます。

    投稿の制限

    設定ファイルの restrict_post を設定することで、 あらかじめ投稿を許可された利用者以外の投稿を制限することができます。 restrict_post は、投稿を許可するユーザーのリストが書き込まれたファイルです。

    この機能を使うことで、登録メンバー以外の投稿を禁止することができます。 ダイレクトメールや妨害、いたずらなどを避けたいときに使います。

    メンバー以外からの投稿を禁止する場合は、設定ファイルのrestrict_post の項目を次のように設定します (空白またはコロンで区切って複数のファイルを設定することができます)。

    restrict_post = 制限ファイル名 制限ファイル名...
    制限ファイルは、自分のホームディレクトリに置くことができます。 また、メーリングリストのメンバーファイル名を指定することもできます。

    メンバーファイルのファイル名については、 ml-admin@jca.apc.orgにお問い合わせください。

    番号付け

    メーリングリストで配付されるSubject:行に、 [ML-NAME:123]といったリスト名と連番を付けることができます。 番号付けは、初期設定ではメーリングリスト名と番号の形式になっています。 設定を変更する場合は、設定ファイルのsubject_prefixを変更してください。 この行を削除すると、番号付けは行なわれなくなります。


    "majordomo.admin" for Majordomo-1.94.4-y 1997-9-08 Translation and addition from "list-owner-info".

    翻訳と加筆: lalamaziwa@jca.apc.org / 安田幸弘 (yukihiro@jca.apc.org)