#acl +All:read <> == Services == Sur IRC, tout le monde peut prendre le pseudo qui l'amuse, du moment qu'il n'est pas pris. Mais si Alain s'en va, Bernard peut lui piquer son pseudo et se faire passer pour lui auprès de gens qui ne font pas attention à ce qui se passe. Beaucoup de serveurs IRC (dont celui du Cr@ns) proposent des services pour remédier à ce problème : ils sont présents sont la forme des bots !NickServ et !ChanServ essentiellement (les autres servent surtout aux administrateurs du serveur). === Avoir de la doc === Tout bot (nous allons parler de !NickServ et !ChanServ, mais il y en a d'autres) répondra à la commande {{{HELP}}} en disant à quoi il sert en donnant la liste des commandes qui existent. {{{HELP }}} permet d'avoir des explications sur le fonctionnement d'une commande particulière. === S'enregistrer === Si vous avez un pseudo, vous pouvez vouloir dire que c'est le vôtre et que personne n'est censé vous le piquer. Pour ceci, demandez à !NickServ de le retenir, en utilisant un mot de passe : {{{ /msg NickServ REGISTER }}} Il va alors envoyer un e-mail de vérification à l'adresse fournie, que vous devez lui donner dans la foulée : {{{ /msg NickServ CONFIRM }}} === S'identifier === ==== Avec mot de passe ==== L'identification est perdue si vous changez de pseudo ou si vous êtes déconnecté. Pour dire à !NickServ que vous êtes bien le propriétaire du pseudo : {{{ /msg NickServ IDENTIFY }}} Vous êtes alors reconnu comme propriétaire légitime de ce pseudo. Si quelqu'un vous {{{/whois}}}, il verra que vous êtes bien identifié pour ce pseudo (et pourra ainsi vérifier que vous n'êtes pas un vil usurpateur). ==== Automatiquement via SASL ==== L'authentification SASL repose sur la fourniture par l'utilisateur d'un certificat SSL dit "client" lorsqu'il se connecte. Sans rentrer dans les détails, le principe permet de s'authentifier sans mot de passe. Il faut déjà avoir enregistré un compte auprès de !NickServ. Une fois cela fait, faites les commandes suivantes. ===== Création du certificat ===== La commande SSL suivante permet de créer clef et certificat autosigné (ça suffira ici) et de stocker le tout dans un fichier. {{{openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1000 -nodes -out crans.pem -keyout crans.pem}}} Ensuite, récupérez son empreinte {{{openssl x509 -in crans.pem -outform der | sha1sum -b | cut -d' ' -f1}}} Le reste dépend de votre client IRC. ===== Avec Weechat ===== Pour avancer, il faut avoir enregistré une config pour le serveur du Crans dans !WeeChat. On va supposer ici que vous avez "nommé" le serveur "crans". Déplacez le certificat crans.pem dans le dossier {{{~/.weechat/certs/}}}, et faites les commandes suivantes : {{{ /set irc.server.crans.addresses irc.crans.org/6669 /set irc.server.crans.ssl on /set irc.server.crans.ssl_verify on /set irc.server.crans.ssl_cert %h/certs/crans.pem /set irc.server.crans.sasl_mechanism external /save }}} Après, faites un premier {{{/reconnect}}} dans la fenêtre du serveur du Crans ou sur un des canal de discussion du serveur du Crans. Vous voilà parés pour la fin. Il suffit d'aller s'identifier une dernière fois avec mot de passe auprès de !NickServ, puis de lui dire {{{CERT ADD #fingeprint}}} où {{{#fingerprint}}} est l'empreinte récupérée avec la commande SSL plus haut. Au {{{/reconnect}}} suivant, !NickServ devrait vous authentifier tout seul. ===== Aves IRSSI ===== Pour avancer, il faut avoir enregistré une config pour le serveur du Crans dans !WeeChat. On va supposer ici que vous avez "nommé" le serveur "crans". Déplacez le certificat crans.pem dans le dossier {{{~/.irssi/certs/}}}. Il faut ensuite aller modifier la configuration de votre serveur dans le fichier {{{~/.irssi/config}}} {{{ { address = "irc.crans.org"; chatnet = "crans"; port = "6669"; use_tls = "yes"; tls_cert = "~/.irssi/certs/crans.pem"; tls_verify = "yes"; autoconnect = "yes"; } }}} Puis faites un {{{/reload}}} et un {{{/reconnect}}}. Il suffit d'aller s'identifier une dernière fois avec mot de passe auprès de NickServ, puis de lui dire {{{CERT ADD #fingeprint}}} où {{{#fingerprint}}} est l'empreinte récupérée avec la commande SSL plus haut. Au {{{/reconnect}}} suivant, !NickServ devrait vous authentifier tout seul. === Gérer son mot de passe === ==== Le changer ==== Si on est identifié, on peut le changer : {{{ /msg NickServ SET PASSWORD }}} ==== Je l'ai oublié ! ==== Pas de panique, on peut demander à recevoir un mail qui nous permettra de le changer sans connaître l'ancien : {{{ /msg NickServ RESETPASS }}} Et ensuite, suivre les instructions dans le mail. === Droits sur les channels === !ChanServ s'occupe de manière analogue de gérer les channels. Vous pouvez par exemple avoir envie de garder les droits dessus même si vous partez. Pour cela, il faut d'abord que votre channel soit enregistré (ce que vous ne pouvez faire que si vous y êtes opérateur) : {{{ /msg ChanServ REGISTER #channel }}} Vous devez être identifié auprès de !NickServ. Ensuite, vous pouvez donner des droits à des gens sur votre channel (dire tout ça à !ChanServ) : {{{ SET #channel XOP OFF LEVELS #channel SET OPDEOP 5 LEVELS #channel SET INVITE 5 ACCESS #channel ADD pseudo 5 }}} {{{#!wiki caution '''Attention''' : la première commande (XOP OFF) passe le channel dans un mode de gestion des droits différent de celui par défaut (qui est supposé utiliser des commandes telles que AOP, SOP, XOP… pour définir les accès à la place de ACCESS). }}} * les commandes LEVELS permettent de spécifier le niveau de droits auquel on ajoute pseudo. Il pourra exécuter toutes les commandes qui nécessitent son niveau ou moins. * Pour voir les niveaux nécessaires : {{{LEVELS #channel LIST}}} * Les niveaux vont de -9999 à 9999 * Le fondateur du channel a en fait un niveau de 10000 * Pour voir qui a des accès : {{{ACCESS #channel LIST}}} * On ne peut ajouter qu'un utilisateur enregistré sur !NickServ. Enfin, {{{pseudo}}} va pouvoir exécuter la commande si il en a le droit (et qu'il est identifié) : {{{ /msg ChanServ OP #channel }}} Pour voir les accès configurés sur le chann {{{ /msg ChanServ ACCESS #channel LIST }}} ==== Avec XOP ==== {{{ AOP #channel ADD pseudo1 SOP #channel ADD pseudo2 }}} * QOP correspond au mode +q, symbole {{{~}}} * SOP correspond au mode +a, symbole {{{&}}} * AOP correspond au mode +o, symbole {{{@}}} * HOP correspond au mode +h, symbole {{{%}}} * VOP correspond au mode +v, symbole {{{+}}}. Le FOUNDER du channel est également +q/{{{~}}} * Les +v peuvent parler même si le channel est muté (+m) * Les +h et au-dessus peuvent kicker, mais pas les gens d'un niveau strictement supérieur. Le FOUNDER a le droit de gérer les QOP, SOP, AOP, HOP, VOP. Les QOP peuvent gérer les SOP, AOP, HOP, VOP. === Expiration === Attention, si vous ne vous identifiez pas pendant une certaine période de temps, l'enregistrement de votre pseudo expire, ainsi que tous les accès qui lui étaient associés sur les différents channels. === Et si j'ai plusieurs pseudos ? === Afin que ce ne soit pas le bordel dans vos accès, penser à jeter un oeil à : {{{ /msg NickServ HELP GROUP }}} == Aller plus loin == La doc officielle : [[https://www.anope.org/docgen/1.8/en_us/|lien en anglais]] (mais elle y est traduite en plein de langues !) Attention, il peut y avoir de légères variations car la version qui tourne au crans est la 2.0.1 (@DATETIME@), mais la doc est celle de la 1.8. On trouve également énormément d'info sur [[https://wiki.anope.org/index.php/Main_Page|leur wiki]].