ユーザの制御 ユーザの追加と削除は何に対して行なうか? 追加は primary_*_map に対しておこなう。 削除も primary_*_map に対しておこなう。 たとえば、リモート管理者は primary_admin_member_map と primary_admin_recipient_map の両方に アドレスを追加する。 削除の際は、 primary_admin_member_map と primary_admin_recipient_map から アドレスを削除する。 これを admin_member_maps と admin_recipient_maps にすると問題だ。 追加は、明らかに複数の map に追加してしまうので、一つに限定するべきだ。 だから、primary_*_map 一つに対して行なう。 メンバーは primary_xxx_member_map ひとつに、 受信者は primary_xxx_recipient_map 一つに対して行なう。 削除だが、一見 *_maps でもよいような気がするが、 実は駄目だ。消し過ぎになってしまうことがある。 特に問題になるのは、権限の異なる map が混在している場合である。 たとえば、 member_maps はデフォルトで、リモート管理者を含んでいる。 member_maps = $primary_member_map $admin_member_maps そのため、member_maps に対して削除を試みると、 勢いあまってリモート管理者の分も削除してしまうことになる