Change admin password in drupal 7

社会主义新天地 提交于 2019-12-22 08:25:43

问题


I am using built in Drupal 7 user module, fore user registration, forgot-your-password-emails and all that stuff.

I have forgotten my admin password. I have access to my website which is hosted on 1and1.com and also have access to mysql?

Is it possible to change password or email address through SQL so that I can access the admin page?

If it possible how? Can you somebody help me with this?

Thanks!


回答1:


If you have Drush installed, you just have to enter the following command in the terminal from anywhere inside the site root.

drush upwd admin --password=mynewpassword

Here, admin is the user name; who's password will be changed to mynewpassword.




回答2:


After several research I tried the following code stored it as a php file in the root directory

saved it as password-reset-admin.php

<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once DRUPAL_ROOT . '/includes/password.inc';
if (isset($_GET['pass']) && !empty($_GET['pass'])) { 
$newhash = user_hash_password($_GET['pass']);
}
else {
die('Retry with ?pass=PASSWORD set in the URL');
}
$updatepass = db_update('users') 
->fields(array(
'pass' => $newhash,
// 'name' => 'admin',
// 'mail' => '<a href="mailto:yourmail@domain.com'">yourmail@domain.com'</a>;
))
->condition('uid', '1', '=')
->execute();
print "Done. Please delete this file immediately!";
drupal_exit();
 ?>

And after that access the php file through the following:

 https://yoursite.com/password-reset-admin.php?pass=newpassword

It just worked..:) Hope it helps others.

Please make sure you delete the file.




回答3:


To change the password, you need to have shell access to your website. If not, download a copy of drupal 7 on your local machine.

Then, open your terminal and navigate to your Drupal 7 root folder. Then type the following command:

./scripts/password-hash.sh NEW_PASSWORD

Replace NEW_PASSWORD with the new password you need.

This will output a new password hash, copy this password and go to your database manager (phpMyAdmin or similar) and change the admin password to newly generated text.

I don't know of other way to do that, because Drupal is not using MD5 anymore and use a hashing algorithm instead.




回答4:


Change directory to your Drupal's root. Then generate the new hash.

In case of Drupal 7:

$ php scripts/password-hash.sh 'your-new-pass-here'

Then execute SQL query to update the administrator's password:

UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1;

In case of Drupal 8 path to script will be:

$ php core/scripts/password-hash.sh 'your-new-pass-here'

Update DB:

UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1;

Clean the cache:

DELETE FROM cache_entity WHERE cid = 'values:user:1';



回答5:


If you have access to database, then...

  • Go to the users table in your database and change the admin's email to an email that you have access to.

  • Afterward, head over to yoursite.com/user/password and enter the email that just changed.

  • Go to your email and click on the reset link to go into your site and reset your password.

Done!




回答6:


Tested and it works!

With the access to the table "users" in your Database via PhpMyAdmin for example (i.e. this table can have a prefix that you have already mentionned during the Drupal installation part, so yourPrefix_ can be your project's name as mywebsitename_, and in this case you'll have mywebsitename_users).

You should alter the "pass" column associated with the "uid" column with the value 1 (i.e 1 for the admin user account).

As the encrypted value for the password: Admin_12345 is =>

$S$DifCVXg9tNtHadziyyQJQVLAaZzW5EgS6OjR56D.mk8MpNQs1II2

You can accede to your admin account after replacing the old hashed password value stored in your database that you have totally forgotten.

Don't forget to change the password: Admin_12345 after you accede to your account with an other one.




回答7:


You can generate query here and run the query in database.



来源:https://stackoverflow.com/questions/24051390/change-admin-password-in-drupal-7

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!