![]() |
Version 5.1 |
|||||||||||||||||||||||||
|
|
CommuniGate Pro の導入後も、サーバーに登録しているユーザーによっては、既存のメーラーアプリ ケーションを使って自分のメールアカウントに直接アクセスするユーザーもいます。この場合、メー ラーアプリケーションではインターネットプロトコルは使われないため、CommuniGate Pro サーバー では、こうしたメーラーの制御は行われません。
CommuniGate Pro サーバーでは、ユーザーアカウントとメールボックスはすべて「ベースディレクト リ」の中に格納されます。システムが適切に設定されていれば、このベースディレクトリには第三者 はアクセスできず、したがって、メールボックス、その他のサーバーファイルが改ざんされることは ありません。
ローカルユーザー、つまり既存のメーラーを使ってメールに対してアクセスする必要があるユーザー について、そのアカウントをCommuniGate Pro サーバー上に作成する場合、外部INBOXオプション を使います。このオプションを選択した場合、CommuniGate Pro のベースディレクトリの中には、そ のユーザーのアカウントINBOX (受信ボックス) は作成されません。代わりに、メールボックスの場 所がユーザードメイン設定情報から自動的に取り出され、処理が行われます。この場合、メールボッ クスの場所としては、通常、/var/mail/* または/var/spool/mail/* を指定しておきます。こ の場所は、既存のメーラーの「標準」のメールボックス格納場所で、既存のメーラーでは、この場所 にあるメールボックスに対してアクセスが実行されます。
CommuniGate Pro サーバーから外部メールボックス(既存のメーラーのメールボックス) にアクセス が行われる場合、OS のファイルロッキングメカニズムが使用され、このメカニズムを介して CommuniGate Pro サーバーと既存のメーラーの間で同期が実行されます。
注意:既存のメーラーでは、通常、メールボックスへの同時複数アクセスはサポートされていません。 そのため、既存のメーラーの場合、同一のメールボックスに対して例えば2 つのメーラーセッション が同時に発生し、どちらかのセッションでメッセージの削除が実行された場合、メールボックスのデー タが破壊されることがあります。CommuniGate Pro サーバーと既存のメーラーの間では通信は行われ ないため、この問題は、CommuniGate Pro 側では解決できません。ただし、いずれかのメールボック スとCommuniGate Pro との間で処理が発生しているときには、その間、CommuniGate Pro によってファ イルロックがかけられます。したがって、その間は、既存のメーラーによってデータが破壊されるこ とはありません。
外部メールボックスについては、詳しくは「共有」のセクションの外部メールボックスを参照してください。
CommuniGate Pro のメールボックスのフォーマットは、デフォルトではBSD 準拠テキストフォーマッ トに設定されています。つまり、CommuniGate Pro のメールボックスはテキストファイルで、ファイ ル中のメッセージはそれぞれ、空白行とFrom で始まる空白行という2 行で区切られて格納されます。
一般的なメールシステムでもほとんど、このフォーマットが使われています。そのため、CommuniGate Pro への移行時、既存のメールボックスファイルを有効に利用できます。例えば、既存のメールボッ クスファイルをCommuniGate Pro のアカウントディレクトリの中にコピーするという方法で利用でき ますし、または、外部INBOX (上記を参照) として指定することもできます。これで、既存のメール ボックスファイルを以前と同じように使用できます。
注意:CommuniGate Pro ではメッセージはBSD 準拠メールボックスに格納されますが、格納の際には、 区切り行(From で始まる行) にフィールドがいくつか追加されます。こうしたフィールドは、既存の メーラーやメールサーバーでは認識されません。CommuniGate Pro によって追加されるフィールドと しては、メッセージステータスのフィールド、一意のメッセージID のフィールドがあります。この追 加フィールドの関係で、既存のメールシステムで作成されたメールボックス(BSD 準拠) を CommuniGate Pro で使用した場合、警告( ログレコード) が出力され、メッセージの区切り行に CommuniGate Pro で必要なフィールドがないことが報告されます。ただし、こういったメールボック スでもCommuniGate Pro サーバーでは正常に開かれます。その場合、メッセージに自動的に空白ス テータスフラグが立てられると同時に、一意のID が作成、付加されます。また、既存のメールシステ ムのメールボックスのメールは、ユーザーがCommuniGate Pro で読んだり、また編集や移動、削除を 行うことで、その数が次第に減ります。そのため、既存のメールシステムのメールをCommuniGate Pro で開いたときに出力される警告も次第に減り、最終的には出力されなくなります。
既存のメールサーバー(Unix システム) で、Unix OS のアカウントとパスワード(passwd ファイルと shadow ファイル) を使ってクライアント認証が行われていた場合、必要なアカウントについて[ Use OS Password]オプションを有効にすることで、CommuniGate Pro サーバーでOS による認証処理が可能 になります。
OS パスワード(OS レベルのパスワード) の暗号化は一方方向のため、通常はセキュアSASL 認証方 式のパスワードとしては使用できません。ただし、次の方法を使うことで、CommuniGate Pro への移 行後もセキュアSASL 認証方式を利用できるようになります。以上のようにして、アカウントが新たに作成されれば、ユーザーは、以前のOS パスワード、つまり 既存のメールシステムで使用されていたパスワードを使って自分のアカウントにアクセスできます。 アクセス後、ユーザーはCommuniGate Pro 上で自分のパスワードを変更(作成) でき、作成されたパ スワードはCommuniGate Pro パスワードとして登録されます。このようにして、ユーザーが全員、自 分のパスワードを更新するとセキュアSASL 認証方式を利用できるようになります。
場合によっては、上の方法が困難なこともあります。例えば、既存のメールサーバーからユーザーを CommuniGate Pro に移行するが、何らかの理由で全ユーザーをUnix OS に登録できない、または登録 しない予定であり、ただし、既存のサーバーのパスワード(passwd) ファイルはある、といったケー スが考えられます。この場合、Unix 形式(crypt-encrypted) のパスワード(パスワードファイルの パスワード) をCommuniGate Pro パスワード(CommuniGate Pro の内部パスワード) として入力する という方法が使えます。
Unix 形式(crypt-encrypted) のパスワード、または、その他のCommuniGate Pro でサポートされて
いる暗号化パスワード(下記を参照) をCommuniGate Pro の内部パスワード(CommuniGate Pro パス
ワード) として入力する場合、接頭辞として002 (1 バイトバイナリ) を付加してパスワードを作成、
保存しなければなりません。例えば、
CLIインターフェイスを使って、"user" という名前のユーザー
を"AslUzT1JkPsocc" というUnix (crypt-encrypted) パスワードで作成する場合、CLI コマンドは
次のようになります。
createaccount "test" {Password="\002AslUzT1JkPsocc";}
この方法では、テキストファイル上のアカウントリストをインポート てユーザーを作成できます。 その場合、Unix パスワードは、[Password] フィールドではなく[UnixPassword] フィールドに保存し なければなりません。インポートの際には、バイナリ接頭辞002 はLoader によって自動的に付加され ます。また、LDAPプロビジョニング機能を使ってユーザーを作成するときには、暗号化パスワード をunixPassword 属性として指定しなければなりません。
また、アカウントを作成する場合、アカウント設定でCommuniGate Pro パスワード暗号化方式( クリ アテキストまたはA-crpt のいずれか) を指定することが必要です。この指定により、ユーザーは、以 前の自分のUnix/ 暗号化パスワードを使ってログインできるようになります。その後、最初の方法と 同じく、ユーザーが自分のパスワードを変更・更新すると、パスワードは、指定されている暗号方式 でCommuniGate Pro パスワードとして保存されます。このようにして、ユーザー全員がパスワードの 更新を完了すると、セキュアSASL 認証方式の利用が可能になります。
Netscape 社やSoftware.com 社で提供しているサーバーの中には、ユーザーパスワードが特殊な暗号化
方式で保存される製品もあります。こういったサーバーからパスワードを取り込んだ場合、各パスワー
ドは次のような形式で示されます。
{method}eNcoDeD
または、
$method$eNcoDeD
上でmethodは標準の暗号化方式、eNcoDeD (文字列) はbase64 エンコード暗号化パスワードを表し
ます。
CommuniGate Pro では、上記のようなパスワードもUnix 暗号化パスワードと同じ方法で扱えます。つ まり、CLI コマンドラインでバイナリ接頭辞002 をパスワードの先頭に付加します。または、パスワー ドをAccount Importファイルの[UnixPassword] フィールドに定義します。
CommuniGate Pro でサポートされている暗号化方式は、次の通りです。
|
OS の/etc/passwd(パスワード) ファイルに格納されているユーザーとパスワードは、CommuniGate Pro のCLI スクリプトを使うことで自動的にインポートできます。CommuniGate Perl Interface サイト にサンプルのスクリプトがありますので、参照してください。
Post.Office®ソフトウェアでは、アカウント名、パスワード、その他の関連情報はすべてPost.Office のアカウントデータベースに格納されます。アカウントデータベースの情報は、Post.Office 用の移行 ユーティリティを使って取り出し、情報をタブ区切りファイルに保存できます。生成されたタブ区切 りファイルは、CommuniGate Pro のWebAdmin のアカウントインポート機能を使ってCommuniGate Pro にインポートできます。
また、Post.Office のメーリングリストとサブスクライバー(加入ユーザー) 情報は、リスト移行(List Migration)スクリプトを使ってCommuniGate Pro に取り込めます。
Netscape (iPlanet) iPlanet) メッセージングサーバーの場合、アカウント名、パスワード、その他の関連情報 はすべてディレクトリサーバーのサブツリーに格納されます。サブツリーは、通常のLDAP ツールを 使ってLDIF ファイルにエクスポートできます。LDIF ファイルのアカウント情報は、Netscape の移行 スクリプトでタブ区切りファイルに変換できます。変換したタブ区切りファイルは、CommuniGate Pro のWebAdmin のアカウントインポート機/a>機能を使ってCommuniGate Pro にインポートが可能です。
IMail®ソフトウェアでは、アカウント名、パスワード、その他の関連情報はすべてIMail のアカウン トデータベースに格納されます。アカウントデータベースに格納されている情報は、IMail 用の移行 ユーティリティを使って取り出し、タブ区切りファイルに保存できます。タブ区切りファイルの情報は、CommuniGate Pro のWebAdmin のアカウントインポート機能を使ってCommuniGate Pro にインポートが可能です。
CommuniGate Pro のMacOS サーバーを使っており、そのユーザー情報を別のシステムに移行したい場 合、CommuniGate/MacOS エクストラクタユーティリティを使ってアカウントリストファイルを作成 します。
また、Stalker Internet Mail Server (SIMS) のユーザー情報を移行したいときには、SIMS エクストラクタ ユーティリティを使ってアカウントリストファイルを作成します。
M icrosoft® Exchange ServerからCommuniGate Pro に移行する場合、Exchange 用の移行ユーティリティを使ってExchange サーバーのユーザーリストを取り出します。また、ユーザーを CommuniGate Pro のドメイン内にユーザーを作成することもできます。このユーティリティには、ユーザーフォルダのデータ( メール、カレンダリング、連絡先などの情報) をすべてコ ピーする機能、また、データとアドレスフォーマットを変換する機能が搭載されています。
Exchange 用の移行ユーティリティにはまた、Exchange Global Address Book のデータを取り出し、そのデータをLDIF ファイルに変換する機能もあります。生成されたLDIF ファイルは、 CommuniGate Pro のディレクトリにインポートできます。
上記以外のPOP サーバーからCommuniGate Pro に移行する場合、そのメールサーバー上のアカウント のメッセージをすべて新規のサーバー(CommuniGate Pro) のアカウントにコピーするという作業が 必要です。新規のサーバーのアカウントは、事前に作成しておくことが必要です。
POP サーバーからCommuniGate Pro に移行する場合、CommuniGate Pro ソフトウェアパッケージに付 属のMovePOPMail プログラムを使用します。このプログラムでは、既存のPOP サーバーに接続し、 ログインした後、メッセージをすべて取り出し、新規のSMTP サーバー(指定可能) に送信するとい う処理が自動的に実行されます。コマンドは、次のようになります。各パラメータの説明は、コマン ドの下に順に記載してあります。
上記以外のIMAP サーバーからCommuniGate Pro に移行する場合、そのメールサーバー上のアカウン トのメールボックスとメッセージをすべて新規のサーバー(CommuniGate Pro) のアカウントにコピー するという作業が必要です。新規のサーバーのアカウントは、事前に作成しておくことが必要です。
CommuniGate Pro ソフトウェアパッケージには、MoveIMAPMail プログラムが付属しています。IMAP サーバーからCommuniGate Pro に移行する場合、このプログラムを使います。このプログラムを実行 すると、既存のIMAP サーバーと新規のIMAP サーバーの両方に接続とログインが行われ、その後、既 存のアカウントのメールボックスのリストが取り出されます。続いて、新規のアカウント用のメール ボックスのうち欠落しているものがあれば、必要なメールボックスがすべて作成されます。最後に、 既存のアカウントのメールボックスのメッセージがすべて、新規のアカウントのメールボックスにコ ピーされます。このプログラムでは、また、「サブスクライブメールボックス」のリストとメールボッ クスACL (サポートされている場合) も自動的にコピーされます。コマンドは、次のようになります。 各パラメータの説明は、コマンドの下に順に記載してあります。
Flagsには、次のオプションのパラメータを指定できます。指定しなくてもかまわず、また複数指定 することもできます。
注意:ソースアカウントのメールボックス名が.mbox または.mdir で終わっている場合、処理後、ター ゲットアカウント名の末尾はそれぞれ-mbox、-mdir となります(ピリオドがダッシュに変更されま す)。
CommuniGate Pro サーバーを導入し、必要なアカウントの作成も完了すれば、CommuniGate Pro に付 属しているプログラムを使って、既存のサーバーの全メールボックスのメールを新規のサーバー (CommuniGate Pro) のアカウントに一括してコピーできます。
付属のプログラムはMoveAccounts で、このプログラムでは、タブ区切りテキストファイル(内容は アカウント名とパスワード) を介して既存のメールサーバーのメールを一括してコピーできます。タ ブ区切りテキストファイルは、CommuniGate Pro のドメインにアカウントをインポートするときに使 用するファイルと同じです。
MoveAccounts を実行すると、タブ区切りテキストファイルのスキャン(フィールドなどのチェック) 後、MovePOPMailまたはMoveIMAPMail(どちらかをパラメータで指定) を使って、各アカウントの メッセージがコピーされます。MovePOPMail とMoveIMAPMail はどちらもカレントディレクトリにあ ります。MoveAccounts のシンタックスは次の通りです。
file( タブ区切りテキストファイル) の最初の行は、複数のデータフィールド名で構成されます。 フィールドとしては、Name (アカウント名) とPassword (パスワード) は必須です。
タブ区切りテキストファイルにNewName フィールドがあり、プログラムがMovePOPMail のときに は、その起動時にNewName フィールドがSMTPrecipient パラメータとして使用されます。一方、 プログラムがMoveIMAPMail のときには、その起動時にNewName フィールドがnewName パラメー タとして使用されます。NewName フィールドがない場合、どちらのプログラムでもName フィールド のデータが使われます。
パラメータとして--IMAP (MoveIMAPMail) を指定した場合、NewPassword フィールドがあるかど うかがチェックされます。NewPassword フィールドが見つかったときには、NewPassword フィールド のデータがMoveIMAPMail プログラムに渡されます。NewPassword フィールドがなかった場合、 Password フィールドのデータが使われます。
MoveAccounts では、上記以外の名前のフィールドはすべて無視されます。
ファイル名: AccountList
|
場合によっては、コピー元のアカウントのクリアテキスト(非暗号化) パスワードが一部または全部 入手できず、また、既存のサーバーでUnix の/etc/passwd or /etc/shadow ファイルが使われて いることもありますが、その場合、次の手順で作業を行います。
ときには、上記のパスワード切り替えによる移行方法( クリアテキストパスワードは全部は分からな いものの、OS パスワードはすべて分かる場合) が利用できないこともあります。また、既存サーバー で使われていたユーザー名とパスワードが一切分からないこともあります。こうしたときには、次の 方法を使います。
この方法は、CommuniGate Pro の外部認証機能を利用した手法です。
まず、移行スクリプトをダウンロードしてインストールします。次に、CommuniGate Pro を設定し、ダウンロードした移行スクリプトがCommuniGate Pro の外部認証プログラムとして機能するようにし ます。
CommuniGate Pro 側の設定としては、まず、処理対象となるCommuniGate ドメインを作成します。続 いて、[Domain Settings] ページを開き、[Consult External Authenticator] オプションを有効にします。 また、[Account Template] ページを開き、[Use CommuniGate Password] オプションを無効にし、[Use External Password] オプションを有効にします。
以上の設定により、ユーザーが接続しようとしたアカウントが存在しなかったとき、または、 CommuniGate Pro でメッセージが受信され、そのメッセージの宛先のアカウントが存在しなかったと きには、External Authentication (外部認証) スクリプトが呼び出されます。続いて、外部認証スクリプトにより、SMTP プロトコルを介して既存のサーバーに接続が実行され、上記のアカウント(存在 しないアカウント) と同じ名前(アドレス) のアカウントが既存のサーバーにあるかどうかチェック が行われます。そのアカウントが既存のサーバーにあった場合、その名前を使ってCommuniGate Pro ドメインにアカウントが作成されます。その後、CommuniGate Pro サーバーにより、新たに作成され たアカウントに対してメッセージが送信されます。
また、ユーザーがCommuniGate Pro サーバーに接続すると、メーラーによりユーザー名とパスワード がプレーンテキスト形式で送信されます。ここで、[Use CommuniGate Password] オプションが無効、 [Use External Password] が有効に設定されているため、External Authentication (外部認証) スクリプ トが呼び出されます。呼び出し後、POP プロトコルまたはIMAP プロトコルを介して既存のサーバー に接続が実行され、提供されたユーザー資格で既存のサーバーにログインできるかどうかがチェック されます。
既存のサーバーに対して接続が行われ、既存のサーバーでユーザー資格(パスワード) が認証された 場合、次のような処理が実行されます。ユーザーがログインに成功した場合、そのアカウントのパスワードが新規のCommuniGate パスワード として登録されます。また、既存のサーバーから、そのアカウントのメールボックスのメールがすべ てCommuniGate Pro サーバーにコピーされます。
以上のようにして、既存のサーバーのユーザーがすべて少なくとも一度はCommuniGate Pro サーバー に正常に接続することで、全ユーザーのアカウントがCommuniGate Pro サーバーに作成され、 CommuniGate パスワードも設定されます。この移行( リアルタイム移行) がすべて完了すれば、External Authentication (外部認証) スクリプトを停止し、既存のサーバーを転用または廃棄してかまいません。
既存のサーバーから新規のサーバー(CommuniGate Pro) に切り換える場合、現在のサービスが中断 されないようにすることが極めて重要です。
既存のサーバーが動作しているシステム/ プラットフォームと同じ種類のシステム/ プラットフォー ムにCommuniGate Pro サーバーをインストールする場合、次の手順で作業を行います。上記の作業はいずれも、既存のサーバーを稼働させながら行うことができます。
上記の作業が完了すれば、既存のサーバーを停止させます。停止させる方法としては、既存のサーバー で使われているポート番号を非標準のポート番号に変更する方法、または、外部ネットワークから切 断する方法があります。
続いて、AccountMoveプログラムを使って、既存のサーバーのメールメッセージをすべて CommuniGate Pro にコピーします。
すべてのメッセージのコピーが完了すれば、CommuniGate Pro のSMTP ポート番号を25、POP ポート 番号を110、IMAP ポート番号を143 に設定し直します。これで、CommuniGate Pro は新規のメール サーバーとして正常に動作を開始し、したがってサービスが中断されることもありません。
なお、既存のサーバーは、切り換え後も数時間は動作させておいても結構です。これは、既存のサー バーのキューに遅延送信メッセージが格納されていることがあるためです。動作させておく場合、既 存のサーバーのポートを非標準のポートに設定しておかなければなりません(標準ポートは CommuniGate Pro で使われています)。
CommuniGate Pro 上でセカンダリドメインを作成してある場合、既存のサーバーのアカウントを CommuniGate Pro のメインドメインではなく、作成済みのセカンダリドメインに移行することもでき ます。
既存のサーバーのアカウントをセカンダリドメインに移行する場合、CommuniGate Pro のアカウント リスト(AccountList) ファイルにNewName フィールドを追加し、このフィールドに名前(アカウン ト名) をすべてコピーしなければなりません。また、名前にはそれぞれ、文字列として@domainname を追加することが必要です。
既存のサーバーのメッセージはIMAP プロトコルを使ってCommuniGate Pro のセカンダリドメインに 移行でき、作業は簡単です。