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:
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
Nenhum comentário foi encontrado.