1

集群设置后,我更改为ejabberd/bin终端中的目录。然后我输入这个命令

erl -sname ejabberd@test -mnesia extra_db_nodes "['ejabberd@testone']" -s mnesia 

执行此命令后,我的终端出现此错误

{error_logger,{{2013,10,15},{17,3,14}},"Cookie 文件 /root/.erlang.cookie 必须只能由所有者访问",[]}。

4

1 回答 1

3

来自Erlang 文档

在启动时,一个节点分配了一个随机原子作为它的魔法 cookie,其他节点的 cookie 被假定为 nocookie。Erlang 网络认证服务器 (auth) 的第一个动作是读取一个名为 $HOME/.erlang.cookie 的文件。如果文件不存在,则创建它。该文件的 UNIX 权限模式设置为八进制 400(用户只读),其内容是随机字符串。从文件的内容创建一个原子 Cookie,并使用 erlang:set_cookie(node(), Cookie) 将本地节点的 cookie 设置为此。这也使得本地节点假设所有其他节点都拥有相同的 cookie Cookie。

您似乎以 root 身份运行。您需要确保它/root/.erlang.cookie由 root 拥有并具有 600 模式(除 root 之外的任何人都不能读取、写入或执行)。

于 2013-10-15T19:46:39.370 回答