ejabberd:「ejabberd」とは異なる「cookie」を設定する方法はありますか?
質問
私はejabberdモジュールを構築しています。同じLAN(sname)上の別のノードへのRPC呼び出しを実行するには、このモジュールが必要です。私が理解していることから、ejabberdはそれが所有する「クッキー」を構成します;もちろん、これは他のノードに使用するCookieとは異なります。
ejabberdに別のCookieを強制的に使用させる方法はありますか?
編集:ejabberdは、デーモンを" ejabberd"の下で起動します。ユーザー名。
編集:適切なcookieを使用して/home/ejabberd/.erlang.cookie(ユーザー名:ejabberd、グループ:ejabberd)を作成する場合でも機能しません。
編集:問題を回避する1つの方法(あまり良くありません)は、(適切な権限で)目的の.erlang.cookieファイルを/ var / lib / ejabberdにコピーすることです
解決
ejabberdctlスクリプトは、Cookieファイルが /var/lib/ejabberd/.erlang.cookie
に存在するようにホームディレクトリを設定します。 Erlang自体がファイルのパーミッションをチェックするため、それらは正しいものでなければなりません。
特定のCookieを強制的に使用するためのオプションがいくつかあります:
- ファイルの内容を変更します-ejabberdはそれを変更しません。
- ejabberdctlスクリプトを変更して、
-setcookie 'SomeCookieValue'
をerlに渡すようにします。 - ejabberdctlを変更して、別のホームディレクトリを設定します。
Cookieファイルは、存在しない場合は作成されますが、存在する場合は背後で変更されません。 ejabberdクラスターを構築したり、erlangディストリビューションを介してejabberdと統合するには、共通のCookieを使用する必要があります。
所属していません StackOverflow