ejabberd: Gibt es eine Möglichkeit, einen anderen „Cookie“ als „ejabberd“ zu konfigurieren?

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

  •  10-07-2019
  •  | 
  •  

Frage

Ich baue ein ejabberd-Modul. Ich benötige dieses Modul RPC Anrufe an einen anderen Knoten auf dem gleichen LAN (sname) auszuführen. Von dem, was ich verstehe, ejabberd konfiguriert es „Cookie“ besitzt, die, natürlich, aus dem Cookie unterscheiden werde ich für meine anderen Knoten verwendet werden.

Gibt es eine Möglichkeit ejabberd zu zwingen, einen anderen Cookie zu benutzen?

EDIT:. Ejabberd beginnt seinen Dämon unter dem "ejabberd" username

EDIT: auch wenn /home/ejabberd/.erlang.cookie Erstellung (Benutzername: ejabberd, Gruppe: ejabberd) mit einem entsprechenden Cookie funktioniert es immer noch nicht funktioniert

.

EDIT: ein Weg, um das Problem zu gehen (was nicht so schön ist) (mit den entsprechenden Berechtigungen) die beabsichtigten .erlang.cookie Datei / var / lib / ejabberd

zu kopieren ist
War es hilfreich?

Lösung

Das ejabberdctl Skript setzt das Home-Verzeichnis, so dass die Cookie-Datei auf /var/lib/ejabberd/.erlang.cookie lebt. Erlang selbst prüft die Berechtigungen der Datei, so dass sie müssen korrekt sein.

Sie haben ein paar Optionen, um die Verwendung eines bestimmten Cookie zu erzwingen:

  • Ändern Sie den Inhalt der Datei - ejabberd wird es nicht ändern
  • .
  • Ändern Sie den ejabberdctl Skript so dass es -setcookie 'SomeCookieValue' zu erl geht.
  • Ändern ejabberdctl ein anderes Home-Verzeichnis setzen.

Die Cookie-Datei wird erstellt, wenn es nicht vorhanden ist, wird aber nicht hinter dem Rücken geändert werden, wenn es nicht vorhanden ist. Mit einem gemeinsamen Cookie erforderlich ejabberd Cluster zu bauen oder mit ejabberd über erlang Verteilung zu integrieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top