эджабберд:Есть ли способ настроить файл cookie, отличный от ejabberd?

StackOverflow https://stackoverflow.com/questions/1440351

  •  10-07-2019
  •  | 
  •  

Вопрос

Я создаю модуль ejabberd.Мне нужен этот модуль для выполнения вызовов RPC к другому узлу в той же локальной сети (имя).Насколько я понимаю, ejabberd настраивает собственный файл cookie, который, конечно, будет отличаться от файла cookie, который я использую для других своих узлов.

Есть ли способ заставить ejabberd использовать другой файл cookie?

РЕДАКТИРОВАТЬ:ejabberd запускает свой демон под именем пользователя «ejabberd».

РЕДАКТИРОВАТЬ:даже при создании /home/ejabberd/.erlang.cookie (имя пользователя:эджабберд, группа:ejabberd) с соответствующим куки все равно не работает.

РЕДАКТИРОВАТЬ:один из способов обойти проблему (что не так приятно) — скопировать (с соответствующими разрешениями) предполагаемый файл .erlang.cookie в /var/lib/ejabberd

Это было полезно?

Решение

Скрипт ejabberdctl устанавливает домашний каталог так, чтобы файл cookie находился в /var/lib/ejabberd/.erlang.cookie.Erlang сам проверяет права доступа к файлу, поэтому они должны быть правильными.

У вас есть несколько вариантов принудительного использования определенного файла cookie:

  • Измените содержимое файла — ejabberd не изменит его.
  • Измените сценарий ejabberdctl, чтобы он проходил -setcookie 'SomeCookieValue' Эрл.
  • Измените ejabberdctl, чтобы установить другой домашний каталог.

Файл cookie будет создан, если он не существует, но не будет изменен за вашей спиной, если он существует.Использование общего файла cookie необходимо для создания кластеров ejabberd или для интеграции с ejabberd через распространение Erlang.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top