Sincronizando senhas de e-mail com Myauth 3

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

[ Hits: 9.230 ]

 


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

Myauth 3 - Dois servidores utilizando o mesmo banco de dados

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

PHP com suporte a Oracle no Slackware 10

Reduzindo o tempo de carregamento de seu site

Replicar banco de login do Myauth 3

Leitura recomendada

Intranet Corporativa Vindula - Nova versão lançada

Página do twitter não abre utilizando o Google Chrome no Fedora 15

Configurando um proxy trasparente com liberação para o site da caixa (Conectividade Social)

Shell script pós-instalação para CentOS 7 - Uso: Workstation

Instalação de arquivos .bin no Linux

  

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