Drupal 6: modifica password dal DB
Con Drupal possiamo modificare la password direttamente dal database con una semplice query SQL. Ad esempio per cambiare la password dell'utente 1 (amministratore del sito) basta eseguire:
UPDATE `users` SET `pass` = MD5('nuovapassword') WHERE `uid` = 1;
Ricordandosi di sostituire a nuovapassword
, la nuova password che vogliamo usare. Drupal 6 immagazzina le password tramite l'algoritmo MD5 e quindi non si può inserire la password in chiaro ma va codificata.
Drupal 7: nuovo meccanismo per l'aggiornamento manuale
A differenza di Drupal 6, in Drupal 7 non si può più cambiare la password inserendo direttamente la password codificata con MD5 nel database perché ogni sito ha un proprio codice hash che viene usato per la generazione delle password. Perciò è necessario prima generare il codice usando tale chiave.
Per questa operazione si può usare uno script che restituisce il valore da inserire nel campo password nella tabella degli utenti nel database.
- Da shell accedere alla root directory del sito:
cd <cartella_principale_del_sito>
- Eseguire lo script passando come parametro la nuova password:
php scripts/password-hash.sh 'nuovapassword'
Il codice generato va inserito con una query molto simile a quella precedente:
UPDATE `users` SET `pass` = 'codice-generato-dallo-script' WHERE `uid` = 1;
Sostituendo opportunamente il valore.
La scorciatoia con Drush
Anche in questo caso lo script Drush ci viene in aiuto e ci permette di cambiare in un attimo la password di qualunque utente. Ecco un esempio:
drush upwd nomeutente --password='nuovapassword'
Al posto di nomeutente
e di nuovapassword
vanno chiaramente inseriti il nome dell'utente e la password.