Restablecer relación usuario
“admin” vs grupo “total Access” en Elastix
Hacía algún tiempo atrás me llamo un cliente solicitando ayuda con su central telefónica Elastix porque
no tenía acceso a ella; lo primero que se me vino a la mente es que haya olvidado
la contraseña, cosa muy fácil de realizar que se encuentra en cualquier parte
de la red pues se procede con la siguiente línea ejecutada en la terminal.
sqlite3
/var/www/db/acl.db "UPDATE acl_user SET md5_password='`echo -n engelausmetall|md5sum|cut
-d' ' -f1`' WHERE name='admin'"
Esta línea envía un UPDATE a la tabla de acl_user
modificando la contraseña del admin, donde el password va a ser modificado a: “engelausmetall”
Bueno el caso no era ese ya que
lo que había realmente sucedido que por error cambio el grupo del admin
Dejándolo un usuario “admin” sin ningún
permiso alguno, imposibilitándolo de realizar cualquier modificación en la
central
Como sabemos Elastix maneja un
sistema de ACL, la información de los ACLs se almacena en una base de datos
SQLite llamada “acl.db”. Esta base contiene algunas tablas que enlistamos a continuación
incluyendo la famosa tabla “acl_user” la cual modificamos la contraseña al
principio del post.
De esta base nos va a interesar dos tablas que son:
“acl_group” donde se encuentran los id de los grupos incluyendo el
de full acceso asignado para el administrador
Y la última tabla que “acl_membership” que almacena la relación
usuario vs grupo; normalmente se vería de la siguiente manera
Una vez que sucedió el error de cambio de relación de grupo “total access” del usuario “admin” se visualiza con el id del grupo “extension”
Bueno después de tanta explicación
pasaremos a la acción primero visualizaremos los id del grupo “total Access” y
la relación de usuario vs grupo
1.- Accedemos a la base de datos
SQLite
sqlite3
/var/www/db/acl.db
2.- Visualizamos las tablas
mencionadas con anterioridad
select * from
acl_group;
select * from
acl_membership;
3.- Ahora procedemos a salir de
la base de datos y ejecutamos la siguiente línea en la terminal para cambiar el
último valor 1|1|3 que es el id 3 al
id 1 que pertenece al grupo total Access
sqlite3
/var/www/db/acl.db "UPDATE acl_membership SET id_group = '1' WHERE id = '1'"
Quedando restablecido el acceso del usuario administrador
Saludos amigo que tal. Sabes que tengo un caso parecido pero en vez de cambiar el usuario admin al grupo de extensiones fue cambiado al grupo de operador, he tratado de volver como estaba pero sin éxito, si puedes ayudar te agradecido.
ResponderEliminaramigos asi esta en la actualidad.
ResponderEliminaral entrar con el usuario y clave admin aparece operador.
con la clave root pude obtener esto:
sqlite> select * from acl_group;
total access|1|administrator
Operator|2|Operator
extension user|3|extension
sqlite> select * from acl_membership;
2|2|1
3|1|2
sqlite> select * from acl_user;
1|admin|admin|1a7730e90128b04378113e13baa9cb04|341
2|ssh |ssh |867d849edb29031b2598f9db92e2be90|
sqlite>
Men, casi 4 años despues de esta publicación y salvaste mi salud mental
ResponderEliminar