ejabberd: Gibt es eine Möglichkeit, einen anderen „Cookie“ als „ejabberd“ zu konfigurieren?
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 istLö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.