Current time: 12-22-2024, 09:38 PM Hello There, Guest! (LoginRegister)


Post Reply 
Cambiar pass mail desde MYSQL
Author Message
kdhernan Offline
Junior Member
*

Posts: 29
Joined: Apr 2010
Reputation: 0
Post: #1
Cambiar pass mail desde MYSQL
Estimados.

estoy en problemas de como cambiar el password del email directo en mysql.
en la tabla "mail" específicamente el campo "mail_pass" es donde se guarda codificada la contraseña de cada email en el dominio.
necesitaba realizar un cambio masivo de contraseñas, por lo que ejecute un cambio masivo mediante sql a esa tabla.. y lo cambie perfectamente. pero me doy cuenta que no afecta en nada al cambio real, ya que todo me sigue funcionando igual y los correos no cambian su contraseña.

ahora me pregunto existe algun otro paso a realizar? actualizar algo mas para que este cambio sea tomado en cuenta.?


agradeceria vuestra experiencia y comentarios.

o algun dato de como cambiar masivamente la contraseña sin tener que ir 1 x 1, ya que tengo mas de 500 cuentas de correo.


me respondo.

Me acabo de dar cuenta que para que ISPCP tome los cambios el campo Mail_Status debe cambiar a "change" luego de hacer un restart a ispcp_daemon y ejecutar ispcp-rqst-mngr (lo que no se si es necesario)

el password se cambio perfectamente.

ahora llegan mas preguntas:

cuando realice el cambio le puse un "0" para dejarlo asi mientras tanto. pero en status me cambio a que no encontro la clave MD5.
por lo que entendi que la clave esta encriptada en MD5.

encrypte manualmente la clave en MD5 y la pegue en la tabla directamente. realizo el cambio el estatus cambio a "OK" en mi correo me pidio la nueva pass pero este no hace caso.
al parecer no solo la encrypta en md5 si no que algo mas ??

detecte que cuando uno cambia la clave mediante el administrador de ispcp, todas las claves alfinal contienen "=="
lo que me parece extraño en codificaciones Md5.


cualquier comentario lo agradeceria.

Saludos!
(This post was last modified: 04-08-2013 09:54 PM by kdhernan.)
04-08-2013 09:27 PM
Find all posts by this user Quote this message in a reply
kdhernan Offline
Junior Member
*

Posts: 29
Joined: Apr 2010
Reputation: 0
Post: #2
RE: Cambiar pass mail desde MYSQL
Finalmente. la codificacion la hace una funcion que se incluye en
/var/www/ispcp/engine/include/
tuve que meter mi script dentro de la carpeta client para ejecutarlo en conjunto al sistema de administracion. ya que si lo cargaba desde la web directa del dominio no ejecuta las funciones.
la funcion es:
encrypt_db_password($db_pass)

en caso que a alguien le sirva.


ahora que ya logre codificar, y modificar las claves directamente en la DB puedo crear mis propios script para administrar las cuentas de usuarios mas personalizadamente. pero ahora me surge una ultima duda que viene con lo siguiente:

para que el cambio de contraseña de la base de datos tome, se debe modificar el campo "status" a "change" y luego ejecutar el comando: /var/www/ispcp/engine/ispcp-rqst-mngr

Con esto realiza el cambio y funciona perfecto.


pero como estoy automatizando todo esto. necesito que el comando /var/www/ispcp/engine/ispcp-rqst-mngr se ejecute automaticamente despues del cambio de contraseña
estoy usando funciones como

Exec("/var/www/ispcp/engine/ispcp-rqst-mngr");

pero no pasa nada. le di permisos a la carpeta y al archivo para que funcione y nada.
incluso por probar habilite permisos 777 para esto y nada.
pensando que el comando no me estaba funcionando, probe con
exec("mkdir -p Test");

y luego de revisar si habia creado perfectamente la carpeta.
por lo tanto compruebo que el comando exec si cumple su funcion pero especificamente para ejecutar el /var/www/ispcp/engine/ispcp-rqst-mngr no funciona.

agradeceria vuestros comentarios.


Saludos!
04-10-2013 02:02 AM
Find all posts by this user Quote this message in a reply
fedeagostini Offline
Junior Member
*

Posts: 15
Joined: Jun 2011
Reputation: 0
Post: #3
RE: Cambiar pass mail desde MYSQL
Hola kdhernan, me pasó algo parecido y todavía no pude solucionarlo.
En un servido tengo un ispcp v1.0.2
En un nuevo servidor instalé la v1.0.7
Copio la base de datos y las mailbox y, obviamente, las passwd no me toman. (Aclaro, son mas de 1200)
Decripto las passwd del 1.0.2 y las vuelvo a encriptar con encrypt_db_password($db_pass). Cambio los estatus a 'change' y ejecuto var/www/ispcp/engine/ispcp-rqst-mngr
Pero sigue sin tomar las passwd.
Hay algún paso que me esté salteando?
O has hecho algún paso mas que no estés detallando?
Muchas gracias!
Saludos!
07-18-2013 05:19 AM
Find all posts by this user Quote this message in a reply
fedeagostini Offline
Junior Member
*

Posts: 15
Joined: Jun 2011
Reputation: 0
Post: #4
RE: Cambiar pass mail desde MYSQL
kdhernan, para resolver tu inconveniente, prueba con
system("/var/www/ispcp/engine/ispcp-rqst-mngr");
Lo mío es más raro, te muestro el script:
PHP Code:
#!/usr/bin/php -q
<?php
$SQLHST  
"localhost";
$SQLUSR  "root";
$ISPCPDB "ispcp;
$SQLPW = "******";

require '/var/www/ispcp/gui/include/ispcp-lib.php';

$link = mysql_connect( $SQLHST$SQLUSR$SQLPW$ISPCPDB);

if (!
$link) {
    die('no es posible establecer la conexion: ' . mysql_error());
}

$file = "/tmp/MailPwd.txt";
$f = fopen($file, "r");

while (
$line = fgets($f, 1000)){
    
$arrLinea = split(" ", $line);
    
$QUERY = "UPDATE `ispcp`.`mail_usersSET `mail_users`.`mail_pass` = '".encrypt_db_password($arrLinea[1])."', `mail_users`.`status` = 'change' WHERE `mail_users`.`mail_addrLIKE  '".$arrLinea[0]."';";
    print 
$QUERY;
    mysql_query(
$QUERY);
    printf ("
\n");
    system("
/var/www/ispcp/engine/ispcp-rqst-mngr");
}
printf ("
\n");
mysql_close(
$link);
?>
Lo que hago es leer del archivo los 1400 pares "mail" "passwd", que tengo.
pero solo me toma el cambio del último del listado.
07-24-2013 01:50 AM
Find all posts by this user Quote this message in a reply
fedeagostini Offline
Junior Member
*

Posts: 15
Joined: Jun 2011
Reputation: 0
Post: #5
RE: Cambiar pass mail desde MYSQL
Solucionado!
El problema era que me tomaba el salto de línea dentro del string de la la passwd.
En el QUERY, actualizo el mail_pass con un trim para eliminar el último caracter (el salto de línea):
encrypt_db_password(trim($arrLinea[1]))
07-26-2013 12:24 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)