Urgente: Me he eliminado como administrador sin querer

Urgente: Me he eliminado como administrador sin querer

de Enrique Pampyn Martínez -
Número de respuestas: 10
Sin saber cómo, me he eliminado de administrador y ahora sólo me reconoce como profesor sin edición. Así que no puedo hacer nada. Estaba tocando las definiciones de perfiles.

¿Alguien sabe cómo hacer para que me reconozca como administrador o ponerme de nuevo como administrador?

Muchas gracias
Promedio de valoraciones: -
En respuesta a Enrique Pampyn Martínez

Re: Urgente: Me he eliminado como administrador sin querer

de Enrique Pampyn Martínez -
Tengo la sensación de que he tocado la definición de lo que está permitido hacer y lo que no y he debido prohibir a los administradores tareas de administrador. Lo que no sé es cómo puedo revertir el proceso.
En respuesta a Enrique Pampyn Martínez

Re: Urgente: Me he eliminado como administrador sin querer

de David Hernández -
Hola Enrique,

Espero que este post te resulte de utilidad.

Saludos
En respuesta a David Hernández

Re: Urgente: Me he eliminado como administrador sin querer

de Enrique Pampyn Martínez -
Gracias, David, pero por lo que veo no se resolvió el problema. Efectivamente es el mismo problema, pero no porque el administrador no esté asignado como administrador. Esto me ocurrió tocando las configuraciones de seguridad porque me daba un aviso en el rol que tenía por defecto. Para arreglar esto, estuve activando y desactivando permisos.

En estos permisos imagino que toqué los del administrador y por eso no me reconoce como adminsitrador. He mirado las tablas implicadas, las de roles y la asignación de roles y todo parece que está correcto. Tiene que ser con la definición de permisos, creo, que tiene el administrador.

Lo que no encuentro en las tablas es esta definición de permisos específicos. Quizá estoy mal enfocado.

En el post al que me remites sugieres probar con un script que tú dices que es peligroso. Pero no cuentas en qué sentido lo es y qué es lo que hace el script. ¿Podrías decirme algo?

Estoy tratando de migrar a una nueva instalación, pero no tengo claro como migrar, sobre todo si las copias de seguridad que va haciendo el cron tienen problemas. Espero lograrlo.

Cuando haya migrado, intentaré lo del script, pero me gustaría saber qué es lo que hace.

Un abrazo y de nuevo gracias
En respuesta a Enrique Pampyn Martínez

Re: Urgente: Me he eliminado como administrador sin querer

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda

La definición de los permisos que tiene asignado un rol determinado están en la tabla mdl_role_capabilities.

Para ver que permisos tiene asignado el rol 'admin' puedes usar esta consulta SQL:

select rc.* from mdl_role_capabilities rc, mdl_role r where rc.roleid = r.id and r.shortname = 'admin' order by id; 

Los permisos más 'importantes' (que te dejarán entrar como admin aunque algunas cosas no estén del todo al 100% y volver a ajustar el resto de cosas) son:

  • moodle/legacy:admin
  • moodle/site:doanything
  • moodle/site:config

Si alguno de esos no aparece en la lista, tendrás que añadir los registros correspondientes en la tabla mdl_role_capabilities con algo como lo que se indica a continuación.

¡¡¡ATENCION!!! Antes de ejecutar estas instrucciones haz una copia de seguridad de tu base de datos y asegúrate de que sabes como restaurarla, en caso de que todo se vaya al traste.

Si te falta el permiso 'moodle/legacy:admin':

insert into mdl_role_capabilities (contextid, roleid, capability, permission, timemodified, modifierid) values (1, 1, 'moodle/legacy:admin', 1, 0, 0);

Si te falta el permiso 'moodle/site:doanything':

insert into mdl_role_capabilities (contextid, roleid, capability, permission, timemodified, modifierid) values (1, 1, 'moodle/site:doanything', 1, 0, 0);

Si te falta el permiso 'moodle/site:config':

insert into mdl_role_capabilities (contextid, roleid, capability, permission, timemodified, modifierid) values (1, 1, 'moodle/site:config', 1, 0, 0);

Saludos, Iñaki.

En respuesta a Iñaki Arenaza

Re: Urgente: Me he eliminado como administrador sin querer

de Enrique Pampyn Martínez -
Hola Iñaki, gracias por la respuesta, aunque el problema debe estar en otro lado. Tengo todos esos permisos para el rol de administrador. Adjunto un documento en PDF con el resultado de la consulta que me has proporcionado para que lo mires. Ahí se ve que el administrador (roleid=1) tiene, en el contextid=1, todos los permisos.

Un abrazo

PD: He estado mirando la estructura de la base de datos, las distintas tablas y no encuentro la solución. Tengo la sensación de que he puesto un rol global con permisos reducidos a profesor sin edición y eso afecta a todos los administradores.
En respuesta a Enrique Pampyn Martínez

Parece que lo he resuelto

de Enrique Pampyn Martínez -
Ha sido una pesadilla, sobre todo porque nunca me había metido a fondo con la estructura de la BD de Moodle y eso no me permitía entender bien cuál había sido mi error, porque no me acordaba de lo que había tocado.

He conseguido por fin entrar como administrador y todo parece haber vuelto a la normalidad, aunque todavía tengo que comprobarlo todo.

Aún así me ha servido para conocer mejor Moodle por dentro, entender parte de la estructura de la BD, las relaciones de las tablas principales...

El problema surge a partir de que el test de seguridad me da un aviso crítico sobre el rol por defecto que tenía adjudicado, así como la configuración de otros roles. Al cambiar el rol por defecto, sin ser muy consciente lo cambié a "estudiante", todo se trastocó.

Después de diversos intentos fallidos analizando, sobre todo, con las tablas mdl_capabilities, las principales relacionadas con los roles y con la asignación de estos a los usuarios, fui cayendo en la cuenta de que el problema no estaba ahí. Fui comparando las tablas con las de otra instalación moodle,, fui cambiando algunas sugerencias de quienes me han ayudado, pero nada.

El problema era mucho más sencillo, aunque no podía darme cuenta al principio porque no tenía muy claro lo que había hecho. La razón estaba en la asignación de rol por defecto para el sitio. El rol por defecto que había puesto era el de estudiante y esto trastocó todo.

He ido a la tabla mdl_config he buscado la cadena "defaultuserroleid" dentro del campo "name" y he modificado el valor de "5" (que había cambiado) y lo he puesto a "7". Con este simple cambio me ha devuelto todos los accesos como administrador y también ha resuelto otro problema añadido del que un alumno me había advertido; a saber, que los estudiantes podían entrar en cualquier curso porque Moodle los consideraba matriculados en todos.

Bueno, espero que si a alguien le sucede esto, pueda servirle de ayuda esta solución

En fin, esto lo digo antes de comprobar que absolutamente todo funciona como antes. De momento así parece.

Gracias a todos los que me habéis respondido tratando de darme una solución.

Un saludo
En respuesta a Enrique Pampyn Martínez

Re: Parece que lo he resuelto

de Leandro Emmanuel Iriarte -

Gracias enrique por la información brindada. Te comento que he modificado el valor que indicas desde la base de datos a value=7 y todo volvio a funcionar correctamente.

El problema se debia a que se modificaron las politicas de los usuarios, mas especificamente la opcion de rol de los usuarios al conectarse a un grupo que no es Usuario Autenticado (valor por defecto) y ahi es que empieza todo el problema.

Saludos

En respuesta a Enrique Pampyn Martínez

Re: Parece que lo he resuelto

de Lucas Rocha -

Enrique!!!

Me ha pasado algo parecido en la moodle de la cual soy el administrador.

Estaba cambiando los privilegios del Usuario Autenticado. Pero lo que no sabía era que estaba recortando también mis privilegios como Admin!!!

Ahora estoy desesperado porque si bien puedo ingresar a la página con mi cuenta, perdí mis privilegios de administrador y no puedo visualizar el "Activar Edición" de los bloques y así poder ir a "Definir Roles"!!!

Creo que es algo muy parecido a lo que te paso a ti, no?

Podrías detallar de forma muy específica cómo lo solucionaste??

Muchísimas gracias!!!!

Saludos

En respuesta a Lucas Rocha

Re: Parece que lo he resuelto

de Enrique Pampyn Martínez -

Hola Lucas, siento no haber visto este post antes, pero quizá más vale tarde que nunca, ¿no? Por lo que dices, el problema es similar pero no igual. Al tocar las capacidades (yo cambié el usuario por defecto del sitio) lo que has hecho es modificar una tabla diferente, hasta donde yo sé. No estoy seguro de lo que digo, pero debería mirar la tabla mdl_role_capabilities que es la tabla donde quedan registrados qué capacidades tienen los roles. Imagino que habrás tocado algo prohibiendo o previniendo alguna capacidad del rol del usuario autentificado que afecta a los roles del administrador. Después de la pesadilla que sufrí he llegado a la conclusión que el "rol por defecto" sobre el que se basan el resto de los roles es el autentificado. Si no fuera así, no tendría sentido que tocando uno de menor capacidad se toque otro de mayor capacidad. Quizá sea éste un mal diseño porque el rol de administrador debería estar mejor protegido (que fuera independiente o que el rol por defecto del sitio fuera el administrador y el resto se construyera limitando las capacidades del rol por defecto)

De todos modos este problema se ha planteado en varias ocasiones y hay un post con un archivo que seguro que te ayuda en esto. No he leído el archivo, pero seguro que tiene que ver con el problema que planteas. Te pongo la url:

http://moodle.org/mod/forum/discuss.php?d=151627

Un abrazo