Início > Debian, Instant Messaging, jabber, Português > Ejabberd no Sarge usando PAM para autenticar

Ejabberd no Sarge usando PAM para autenticar

Recentemente me pediram para criar um “bate-papo” na Smart Price. É lógico que, para fazer isso, eu usei o padrão da Internet para troca de mensagens instantâneas. E existe isso? Claro, que existe! Chama-se Jabber (ou XMPP, para ser mais exato) e tem tudo de útil que o MSN Messenger, muitas outras coisas que ele talvez venha a ter em alguma versão futura e outras que ele nunca vai ter. Se você ainda não conhece o Jabber, já passou da hora de fazê-lo. Escolha um dos vários clientes, crie uma conta em um dos servidores públicos e divirta-se.

Mas, o objetivo deste texto não é fazer divulgação do Jabber e sim contar o que precisei fazer para implantar esse serviço, então voltemos ao assunto.

Dentre as opções de servidores existentes, decidi utilizar o ejabberd que é Software Livre e é utilizado pelo servidor público jabber.org. E, se é bom para eles que têm milhares de usuários registrados, vai ser mais que suficiente para nós que somos pequenininhos.

Acontece que o ejabberd não está disponível no Debian Sarge, então tive que fazer um backport do pacote disponível para Sid. Binários para i386 e fontes disponíveis em:

deb http://people.debian.org/~goedson/packages/debian/sarge/ejabberd/i386/ ./

e

deb-src http://people.debian.org/~goedson/packages/debian/sarge/ejabberd/src/ ./

respectivamente.

Servidor instalado e configurado, só falta criar os usários. Mas eu já tenho todos os usuários cadastrados no meu servidor. Porque não utilizar esses dados? Porque o ejabberd suporta nativamente a autenticação em um banco de dados LDAP, MySQL ou PostgreSQL mas não o /etc/passwd ou o NIS ou PAM.

Felizmente, ele suporta o uso de um programa externo para fazer a autenticação. Então, fiz um script para autenticar os usuários utilizando o PAM e, pronto! Usuários acessando o Jabber com a mesma senha que eles já usam para ler seus emails ou acessar suas estações de trabalho.

Isso é tudo que foi necessário para ter um “serviço de bate-papo” com a possibilidade de se fazer reuniões, com ou sem controle de participantes, registro automático da “ata” (olha eu fazendo propaganda do Jabber de novo, acho que vou escrever um artigo sobre isso 🙂 ) e integrado à autenticação de usuários já existente na empresa.

Anúncios
  1. Badlop
    agosto 30, 2006 às 6:06 am

    Hi, sorry to speak in english.

    I’ve submitted your extauth script with PAM and Python to ejabberd contributions page, so other people can use it as example:

    http://ejabberd.jabber.ru/ejabberd_pam_authentication

  2. agosto 30, 2006 às 8:40 am

    Thank you for doing it. You saved me the work I intended to do 😉

  3. buch
    novembro 22, 2011 às 7:11 pm

    Goedson , é possivel configurar o ejabberd para importar os usuários do /etc/passwd ?

    E configura-lo para ter a base de dados mysql para maior controle?

    Grato

    • dezembro 9, 2011 às 6:42 am

      Se o que você quer dizer com “importar os usuários do /etc/passwd” é permitir a autenticação utilizando os dados ali contidos, sim é possível. Aliás, o procedimento descrito neste post tem justamente esse objetivo.

      Em versões mais recentes do ejabberd, isso é ainda mais fácil de se fazer pois ele já tem um módulo para fazer autenticação via PAM.

      Também é possível ter os dados de usuário armazenados em um banco de dados como MySQL ou PostgreSQL. Você pode ler mais sobre isso na seção sobre autenticação do guia de instalação em http://www.process-one.net/docs/ejabberd/guide_en.html#htoc24

  4. Evandro
    julho 15, 2015 às 9:02 pm

    Boa noite, gostaria de saber se é possível fazer a comunicação com o ejabberd em uma rede externa ?

  1. outubro 17, 2006 às 9:06 am
  2. julho 23, 2015 às 8:25 pm

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: