ejabberd:有没有办法配置一个不同于“ejabberd”的“cookie”?

时间:2009-09-17 17:52:40

标签: erlang ejabberd

我正在构建一个ejabberd模块。我要求此模块对同一LAN(sname)上的另一个节点执行RPC调用。根据我的理解,ejabberd配置它拥有“cookie”,当然,它将与我用于其他节点的cookie不同。

有没有办法强迫ejabberd使用另一个cookie?

编辑:ejabberd以“ejabberd”用户名启动其守护进程。

编辑:即使用适当的cookie创建/home/ejabberd/.erlang.cookie(用户名:ejabberd,group:ejabberd),它仍然无效。

编辑:解决问题的方法之一(不太好)是将目标.erlang.cookie文件复制(使用适当的权限)到/ var / lib / ejabberd

1 个答案:

答案 0 :(得分:4)

ejabberdctl脚本设置主目录,以便cookie文件位于/var/lib/ejabberd/.erlang.cookie。 Erlang本身会检查文件的权限,因此它们必须是正确的。

您可以选择强制使用特定Cookie:

  • 更改文件的内容 - ejabberd不会改变它。
  • 更改ejabberdctl脚本,以便将-setcookie 'SomeCookieValue'传递给erl。
  • 更改ejabberdctl以设置其他主目录。

如果cookie文件不存在,将创建该cookie文件,但如果它存在则不会在后面更改。使用通用cookie需要构建ejabberd集群或通过erlang发行版与ejabberd集成。

相关问题