Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mh-alias(n) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ali(1)

send(1)

whom(1)

group(5)

passwd(5)

conflict(8)

post(8)

 

名称

mh−alias − MH メッセージシステム用の別名(alias)ファイル

形式

すべての MH コマンド

解説

ここでは、MH の個人用別名ファイルと メール配送のための(一次)別名ファイル、すなわち、
 
/usr/new/lib/mh/MailAliases
 
について解説します。メッセージ転送システムで使用される 別名ファイルについては説明しません。 別名ファイルの各行は、次のようなフォーマットです。
 
alias : address−group
もしくは
alias ; address−group
もしくは
< alias−file
もしくは
; comment
 
ここで
 
address−group  :=  address−list
       |   “<” file
       |   “=” UNIX−group
       |   “+” UNIX−group
       |   “∗”
 
address−list   :=  address
       |   address−list, address
別名ファイルでは、行末に ‘\’ を置くことにより 行を継続することができます。
 
alias−file と file は、UNIX のファイル名です。 UNIX−group は、/etc/group に登録されているグループ名 (もしくは番号)です。 address には、“単純な” インターネット形式のアドレスを用います。 このファイルにおいては、alias−file の名称として用いられる場合を除いて、 大文字/小文字は区別されません。
 
‘<’ で始まる行では、それに続くファイルがさらに読み込まれ、 新たに別名が定義されます。 読み込みは再帰的に行われるので、 ‘<’ が別名ファイルの始まりに現われても期待される結果が得られます。
 
address−group が ‘<’ で始まる場合には、 それに続くファイルが読み込まれ、別名の address−list に加えられます。
 
address−group が ‘=’ で始まる場合には、 /etc/group ファイルが ‘=’ に続く UNIX−group で検索されます。 グループのメンバである各ログイン名が、 別名の address−list に加えられます。
 
これに対して、address−group が ‘+’ で始まる場合には、 /etc/group ファイルは ‘+’ の後の UNIX−group のグループID を調べるために 検索されます。/etc/passwd ファイルの中から、 このグループによって示されるグループID を持つ各ログイン名が捜し出され、 別名の address−list に加えられます。
 
address−group が単に ‘∗’ である場合には、 /etc/passwd ファイルが検索され、 マジックナンバー(通常は 200)よりも大きいユーザID を持つ すべてのログイン名が別名の address−list に加えられます。
 
マッチングにおいて、別名の末尾の ∗ は、適切なもの全てを含みます (下の例を参照してください)。
 
ポスト時における別名の解釈は、およそ次のようになります (実際にはこのようにはなりません)。
 

1) 送出されるメッセージのアドレスリストを、 重複するアドレスを消去しながら、作成します。
 
2) このドラフトがローカルホストから発信するものであれば、 メッセージ中のアドレスでホストを指定していないものについて、 別名の分析を行います。
 
3)別名ファイルの各行について、“alias” を既存のアドレス全てと 比較します。一致するものがあれば、 その “alias” をアドレスリストから取り除きます。 もし、リストに既存の “alias” がない場合には、 address−group の新しいアドレスをアドレスリストに加えます。 普通、別名自身は出力されません。 むしろ、その alias でマッピングしている address−group が代りに出力されます。 “alias” が ‘:’ の代わりに ‘;’ で終わっている場合は、 “alias” とアドレスの両方が正しいフォーマットで出力されます (これにより返信が可能になります。 これは、MH の別名とパーソナルな別名は、 メール転送システムからは識別できないためです)。

 
別名ファイルは行単位に読まれるので、 前方へ(ファイルの終端へ向かって)の参照はできますが、 後方への参照は認められません。 そのため、再帰は起こりません。
 
例:

</usr/new/lib/mh/BBoardAliases
sgroup: fred, fear, freida
fred: frated@UCI
UNIX−committee: <unix.aliases
staff: =staff
wheels: +wheel
everyone: ∗
news.∗: news

 
第1行では、それ以上の別名を その場で /usr/new/lib/mh/BBoardAliases ファイルから 読み込むことを指示しています。 続く “fred” は、“frated@UCI” の別名として定義されています。 さらに、“sgroup” は “frated@UCI”、 “fear”、そして、“freida” の別名として定義されています。 つぎに、“UNIX−committee” の定義が、 ユーザの MH ディレクトリのファイル unix.aliases を読むことで 与えられます。 “staff” は、/etc/group ファイル中に グループ “staff” のメンバとして登録されている すべてのユーザとして定義されます。 そして “wheel” は、/etc/passwd の中で グループID が “wheel” グループと同じであるすべての ユーザとして定義されます。 最後の “everyone” は、/etc/passwd 中で 200 より大きい ユーザID を持つすべてのユーザとして定義され、 “news.<anything>” の形式をもつすべての別名は、 “news” として定義されます。
 
MH における別名を理解するためのキーポイントは、 MH の別名ファイルで定義されている別名が、 ポストされたメッセージのヘッダにまで拡張されるということです。 この別名付けはポストすると最初に行われ、 メッセージ転送システムは関知しません。 これに対して、リスト中のアドレスに配送するよう、 メッセージ転送システムにメッセージ が与えられると、 ローカルなアドレスそれぞれについて、 システム全体の別名ファイルが検索されます。

役に立つヒント

簡単に MH で別名を定義するには、次のようにしてください。
 

まずユーザの .mh_profile の中で、最初の別名ファイルの 名前(“aliases” とします)を選ぶために、次の行を追加します。
 

Aliasfile: aliases

 
次にユーザの MH ディレクトリに ファイル “aliases” を作ってください。
 
さらに、この個人用 “aliases” ファイル に別名を加えていってください。

関連ファイル

^/usr/new/lib/mh/MailAliases一次別名ファイル

プロファイルコンポーネント

^Aliasfile:デフォルトの別名ファイル

関連事項

ali(1), send(1), whom(1), group(5), passwd(5), conflict(8), post(8)

デフォルト値

なし

環境

なし

歴史

これまでの MH では、システム全体に対する別名ファイルが 1つ サポートされているだけでした。 したがって、メールシステムの管理者だけしか別名を定義(削除)できず、 多くの問題を起こしました。 しかしながら、MH の別名の意味解釈の機能が拡張され、 個人用の別名ファイルがサポートされるようになりました。 MH ユーザは、任意の数の個人用ファイルに別名の作成、 修正、削除をすることができるので、 システム全体の別名ファイルの中に情報を保存するために、 メールシステムの管理者の手をわずらわせる必要がなくなりました。

バグ

mh−alias ファイルの前方参照による意味解釈は再帰を防いでいますが、 “< alias−file” コマンドはこれを無効にする可能性があります。 ファイル記述子の数は有限(かなり限られている)なので、無限再帰に陥ると、 ファイル記述子を全て使いきったときに意味のない診断を出して終了します。

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026