格式:"Error when reading /opt/ejabberd/.erlang.cookie: eacces"

format: "Error when reading /opt/ejabberd/.erlang.cookie: eacces"

Ejabberd 集群:

我在两个不同的 Digital Ocean Droplet 中设置了两个 Ejabberd 服务器。 我正在尝试在这两台服务器上构建集群。 我遵循了 Ejabberd 官方文档中的文档,即 'https://docs.ejabberd.im/admin/guide/clustering/'

  1. 将 /home/ejabberd/.erlang.cookie 文件从 ejabberd01 复制到 ejabberd02.

  2. 确保正确配置了我的新 ejabberd 节点。我在新节点上的 ejabberd.yml 配置文件在其他集群节点上具有相同的配置。

  3. 然后当我尝试使用以下命令启动集群时: $ ejabberdctl --no-timeout join_cluster 'ejabberd@ejabberd01'

我收到以下错误:

args: []
format: "Error when reading /opt/ejabberd/.erlang.cookie: eacces"
label: {error_logger,error_msg}

请帮我解决这个问题。

提前致谢

错误消息中的 eacess 实际上是 EACCESS 错误 return 代码 standardized by POSIX:

[EACCES] Permission denied. An attempt was made to access a file in a way forbidden by its file access permissions.

换句话说,您的 ejabberd 节点使用的 Erlang BEAM 进程 运行 的凭据不足以打开 Erlang cookie 文件 /opt/ejabberd/.erlang.cookie

您可以开始 here 以了解有关什么是 Erlang cookie 的更多背景知识。