Sincronizando senhas de e-mail com Myauth 3

Publicado por Vinícius de Oliveira Almeida em 17/09/2010

[ Hits: 9.139 ]

 


Sincronizando senhas de e-mail com Myauth 3



Amigos,

Recentemente recebi um pedido para sincronizar a troca de senha com autenticador Myauth, desenvolvido pelo Patrick Brandao.

Os requisitos são que o webmail seja Squirrelmail e utilize o plugin change_passwd ativo.

Primeiramente mudaremos algumas configurações do plugin change_passwd.

Entre no diretório do plugin, em meu caso é:

# cd /var/www/html/plugins/change_passwd

O arquivo responsável pela troca de senha dos usuários é chamado chpasswd, os parâmetros de troca são:

/var/www/html/plugins/change_passwd/chpasswd <usuário> <antigasenha> <novasenha>

Este parâmetro é o mesmo utilizado pelo squirrelmail, porém executado pelo php.

Editamos o arquivo options.php do plugin e deixamos na seguinte forma:

if (empty($overridePathToChpasswd))
{
   //$cmd = $compatibility_sm_path . "plugins/change_passwd/chpasswd $safe_user $safe_oldpw $safe_newpw 2>&1";
   $cmd = "/var/www/html/plugins/change_passwd/chpasswd $safe_user $safe_oldpw $safe_newpw";

   // Conexao com banco de dados
   $host = "IPDOMYAUTH";
   $usuario = "login";
   $senha = "senha";
   $banco = "admin";
   $conexao = mysql_connect("$host", "$usuario", "$senha") or die (mysql_error());
   $banco = mysql_select_db("$banco") or die(mysql_error());
   $sql = "UPDATE admin.login SET pass = $safe_newpw WHERE login.user = $safe_user";
   mysql_query($sql) or die(mysql_error());
}

Salve o arquivo.

Após estas alterações necessitamos de mais alguns ajustes.

Ajustando servidor MySQL

Na edição do plugin vimos que o squirrelmail faz uma chamada pelo php no banco de dados do myauth. Para que isto funcione, devemos aceitar conexões remotas do endereço ip do squirrelmail.

Exemplo:

Utilizando mysqladmin para criar as permissões:
Linux: Sincronizando senhas de E-mail com Myauth 3
Na imagem acima criamos o login root marcando todos os privilégios.

Logo após adicionar o usuário root remoto, editamos o arquivo de inicialização do MySQL do myauth 3:

# vi /etc/rc.d/rc.mysql

Comente a linha $SKIP:

#SKIP="--skip-networking"

Reinicialize o servidor MySQL:

# /etc/rc.d/rc.mysql restart

Após reiniciar o MySQL, teste sua troca de senha, entrando no squirrelmail e mudando o password.

E fim...

Espero que tenho ajudado.

Vinicius
IDEA
msn: vinicius@srvr.com.br

Outras dicas deste autor

Envio de SMS pelo PHP

Dúvidas para compilar um kernel?

Explorando vulnerabilidades em websites

Replicar banco de login do Myauth 3

Myauth 3 - Dois servidores utilizando o mesmo banco de dados

Leitura recomendada

Turbinando Firefox

Editores de Vídeo para Linux (Kdenlive, Cinelerra e Blender)

Legendas no Slackware

Instalação de uma HP Deskjet 3535 no Slackware 10.2

Icecast2 - Criando servidor de mídia básico

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts