Sincronizando senhas de e-mail com Myauth 3

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

[ Hits: 8.374 ]

 


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: [email protected]

Outras dicas deste autor

Instalando placa de rede Agere Systems ET131x PCI-E no Linux

Exploit dá acesso root em máquina local - kernels 2.6.17 e 2.6.24.1

Reduzindo o tempo de carregamento de seu site

Envio de SMS pelo PHP

Dúvidas para compilar um kernel?

Leitura recomendada

Pendrive do Windows (bootável) no Ubuntu Linux

Instalando o Virtualbox no Ubuntu

Placa de rede wireless Ralink RT2561/RT61 no Debian Linux

Tradução do OCS inventory NG para português

Instalando e configurando na mão o PHP 5 e MySQL 5 no Ubuntu 7

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário