Sincronizando senhas de e-mail com Myauth 3

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

[ Hits: 8.981 ]

 


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

Controle de banda com Shaper

PHP com suporte a Oracle no Slackware 10

Explorando vulnerabilidades em websites

Instalando Tcptrack no Slackware 13

Myauth 3 - Dois servidores utilizando o mesmo banco de dados

Leitura recomendada

Instalando Grupos de Pacotes através do patterns no openSUSE

Cálculo de feriados móveis em Gambas3

Webcam do Sony Vaio com chipset RICOH R587x no Linux

Netbeans IDE 6.5 no Linux Ubuntu 8.10

Vídeo-aula de como se criar uma vídeo-aula

  

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