ejabberd: existe-t-il un moyen de configurer un autre & # 8220; cookie & # 8221; que & # 8220; ejabberd & # 8221 ;?

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

  •  10-07-2019
  •  | 
  •  

Question

Je construis un module ejabberd. J'ai besoin de ce module pour effectuer des appels RPC vers un autre nœud sur le même réseau local (sname). D'après ce que j'ai compris, ejabberd le configure comme étant propriétaire de "cookie". qui, bien sûr, différera du cookie que j'utilise pour mes autres nœuds.

Existe-t-il un moyen de forcer ejabberd à utiliser un autre cookie?

EDIT: ejabberd commence son démon sous le "ejabberd" nom d'utilisateur.

EDIT: même lors de la création de /home/ejabberd/.erlang.cookie (nom d'utilisateur: ejabberd, groupe: ejabberd) avec un cookie approprié, cela ne fonctionne toujours pas.

EDIT: une façon de contourner le problème (qui n’est pas si agréable) est de copier (avec les permissions appropriées) le fichier .erlang.cookie souhaité dans / var / lib / ejabberd

Était-ce utile?

La solution

Le script ejabberdctl définit le répertoire de base de sorte que le fichier de cookie se trouve dans /var/lib/ejabberd/.erlang.cookie . Erlang lui-même vérifie les permissions du fichier, elles doivent donc être correctes.

Vous disposez de quelques options pour forcer l'utilisation d'un cookie particulier:

  • Modifiez le contenu du fichier - ejabberd ne le modifiera pas.
  • Modifiez le script ejabberdctl afin qu'il transmette -setcookie 'SomeCookieValue' à erl.
  • Modifiez ejabberdctl pour définir un autre répertoire de base.

Le fichier cookie sera créé s'il n'existe pas, mais ne sera pas modifié derrière votre dos s'il existe. Il est nécessaire d’utiliser un cookie commun pour créer des clusters ejabberd ou pour s’intégrer à ejabberd via erlang.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top