2

ejabberdモジュールを構築しています。同じLAN(sname)上の別のノードへのRPC呼び出しを実行するには、このモジュールが必要です。私が理解していることから、ejabberdは「cookie」を所有するように構成します。これはもちろん、他のノードに使用するcookieとは異なります。

ejabberdに別のCookieを使用させる方法はありますか?

編集:ejabberdは「ejabberd」ユーザー名でデーモンを起動します。

編集:適切なCookieを使用して/home/ejabberd/.erlang.cookie(ユーザー名:ejabberd、グループ:ejabberd)を作成しても、機能しません。

編集:問題を回避する1つの方法(これはあまり良くありません)は、目的の.erlang.cookieファイルを/ var / lib / ejabberdに(適切な権限で)コピーすることです。

4

1 に答える 1

4

ejabberdctlスクリプトは、Cookieファイルがに存在するようにホームディレクトリを設定します/var/lib/ejabberd/.erlang.cookie。Erlang自体がファイルの権限をチェックするので、それらは正しい必要があります。

特定のCookieの使用を強制するためのいくつかのオプションがあります。

  • ファイルの内容を変更します-ejabberdはファイルを変更しません。
  • ejabberdctlスクリプトを変更して、-setcookie 'SomeCookieValue'erlに渡すようにします。
  • ejabberdctlを変更して、別のホームディレクトリを設定します。

Cookieファイルは、存在しない場合は作成されますが、存在する場合は背後で変更されることはありません。ejabberdクラスターを構築したり、アーラン分布を介してejabberdと統合したりするには、共通のCookieを使用する必要があります。

于 2009-09-17T19:22:14.477 に答える