Ejabberd集群.erlang cookie仅由所有者访问

时间:2013-10-15 11:41:14

标签: cluster-computing ejabberd

集群设置完成后,我进入终端的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必须只能由所有者访问”,[]}。

1 个答案:

答案 0 :(得分:3)

来自Erlang docs

  

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

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