2012-05-05 39 views
6

La password per un accesso di amministratore in una piattaforma moodle è persa.Modificare manualmente la password di amministratore moodle con accesso a phpMyAdmin o creare un altro account amministratore?

Ho accesso a phpMyAdmin.

Sono andato alla tabella mdl_user e lì posso vedere o modificare questa tabella.

Come devo procedere? Posso cambiare la password e la chiave segreta dell'amministratore su una password conosciuta o è più semplice aggiungere un utente amministratore?

Come sarebbe?

+0

Si può solo controllare il codice sorgente e vedere come l'hash viene calcolato. È quindi possibile creare un nuovo hash con la nuova password con la loro funzione di hash. – Zombaya

risposta

0

Apparentemente Moodle versione 1.9.9 esegue il hash delle password solo con md5 una volta (senza sale affatto !!).

Quindi l'unica cosa da fare è sostituire nella riga admin la password archiviata con qualunque password si desideri con una md5 applicata.

+0

Come sei sicuro che la versione di moodle sia utilizzata qui? – iankit

+0

Ho visto quale versione era in quel momento ... – Trufa

0

Attualmente Moodle introduce un salt in password per crittografare in modo univoco le password in ogni installazione.

Se non è stata eliminata o modificata la password dell'account ospite, è possibile copiarne il valore in Password utente amministratore per poter effettuare il login.

In seguito è possibile cambiarlo in qualsiasi momento.

Gli account utente sono memorizzati nella tabella mdl_user.

1

Si può semplicemente controllare il codice sorgente e vedere come viene calcolato l'hash. È quindi possibile creare un nuovo hash con la nuova password con la loro funzione di hash.

Ho controllato il source-code e in base alla configurazione, il suo hash con md5 o sha1. Quindi controlla la tua configurazione e crea un hash personale.

// From the sourcecode: 
if ($this->config->passtype === 'md5') { // Re-format password accordingly 
     $extpassword = md5($extpassword); 
} else if ($this->config->passtype === 'sha1') { 
     $extpassword = sha1($extpassword); 
} 
10

Aprite il file config.php di Moodle, trovare la linea in cui è definito $ CFG-> passwordsaltmain, e copiare il suo valore (si tratta di una lunga serie di caratteri casuali).

in phpMyAdmin, eseguire la query seguente, sostituendo i valori a seconda dei casi:

UPDATE mdl_user SET password = MD5(CONCAT('<new password>', '<password salt copied from config>')) WHERE id = <id of admin user> 
1

come cambiare la password utilizzando hash MD5:

  1. Log in phpMyAdmin. L'hosting di cPanel avrà un programma di utilità di database chiamato PhpMyAdmin all'interno del cpanel. Se Moodle è installato su un hosting non cPanel , contattare la società di hosting per informazioni su come modificare il database sul server. Per ulteriori informazioni su accesso a PhpMyAdmin, consultare l'articolo su "Come faccio a gestire un database MySQL in PHPMyAdmin nel mio pannello di controllo (cpanel)?".

  2. In PhpMyAdmin, trovare la tabella denominata mdl_user e selezionarla. Poiché Moodle ha molte tabelle, la tabella mdl_user potrebbe trovarsi nella seconda pagina. Seleziona la seconda pagina. Fare clic sulla tabella mdl_user.

  3. Dopo aver selezionato la tabella, trovare la riga della tabella per l'utente che si sta modificando. Fai clic sul link Modifica con l'icona a forma di matita.

  4. Ci sarà una serie di caratteri e numeri nel campo della password. Questa è una password crittografata quindi non può essere visualizzata nel database. Sostituisci il testo crittografato con la nuova password per il login.

  5. Quindi, nel menu a discesa a sinistra, selezionare MD5, quindi fare clic su Vai.

Questo può essere fatto anche per l'indirizzo di posta elettronica e il nome utente. L'email e il nome utente non richiedono l'hash MD5.

11

testato solo su Moodle 2

È possibile ripristinare qualsiasi password utente da linea di comando. Nella tua radice Moodle:

php admin/cli/reset_password.php

Per l'ambiente dev prod si consiglia inoltre di disattivare il controllo di politica di password (in modo da poter accedere ad un piccolo e veloce a digitare parola d'ordine). Modifica reset_password.php e commentare: (! Check_password_policy ($ password, $ errmsg))

// se {
// cli_error ($ errmsg);

//}

+1

Confermare che questo funziona per 2.9.1. Mi sembra che questa dovrebbe essere la risposta corretta e scelta. Niente storie, niente muss. – PartialOrder

+0

Risposta eccellente e semplice. Funziona su Moodle 3.0. –

1

un altro, più modo semplice e veloce per generare un nuovo MD5 hash della password:

  1. Vai a http://www.miraclesalad.com/webtools/md5.php e creare una nuova password come ... wintersnow123 ~ (sarà simile a questo: "003df036e1a99aad3eaba7c3ca46723d" senza virgolette).
  2. Copia l'hash md5 generata dalla parola che hai inviato (è semplice) e preparati a incollarla.
  3. Utilizzando phpMyAdmin, accedere al database MySQL.
  4. Passare alla tabella utente (per Moodle, si chiama "mdl_user") e sfogliare i dati.
  5. Quando si trova l'account utente "admin", fare clic su modifica e incollare la nuova password copiata nel passaggio 2 ("003df036e1a99aad3eaba7c3ca46723d"). (Nel campo della password.) Questo sostituirà ciò che avevi precedentemente.
  6. prova ad accedere con il tuo account utente admin e la nuova password (password: wintersnow123 ~)