gpt4 book ai didi

linux - 脚本中的 ejabberdctl 命令给出错误 "Connection attempt from disallowed node"

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:07 24 4
gpt4 key购买 nike

我在 Debian 7.6 服务器上运行 ejabberd-14.12,单节点。

我已经使用交互式 .run 包安装了 ejabberd。

我已经启动了 ejabberd(以 root 身份登录):

# /opt/ejabberd-14.12/bin/ejabberdctl start

日志表明:

ejabberd_app:start:69 ejabberd 14.12 is started in the node ejabberd@localhost

然后,我可以在我的/root 目录中看到 erlang cookie:

-r-------- 1 root     root       20 ago  9 00:00 .erlang.cookie

如果我尝试在命令行模式下创建用户,一切正常:

# /opt/ejabberd-14.12/bin/ejabberdctl register foo myhost.lchat.local foopwd

用户已创建(我可以在网络 GUI 上看到它)。

如果相同的命令嵌入到 .sh 脚本中(具有完整的命令路径),并由守护程序(由 root 拥有)启动,则会在 ejabberd error.log 中生成错误:

[error] <0.435.0> ** Connection attempt from disallowed node 'ctl-ejabberd@localhost' ** 

我认为这是一个安全问题,以避免未经授权的用户发出命令。

我该怎么做才能让脚本也接受该命令?

最佳答案

该错误意味着环境未使用相同的 cookie 从 command Erlang 节点连接到主 ejabberd 节点。

我猜脚本是作为另一个用户运行的(尽管是 root 用户)。将运行该脚本的用户需要在其主目录中具有相同的 .erlang.cookie 文件。

注意:您不应以 root、ejabberd 或任何其他类型的网络服务器身份运行服务器。这违反了安全最佳实践。

关于linux - 脚本中的 ejabberdctl 命令给出错误 "Connection attempt from disallowed node",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com