Drupal → Как сменить пароль у главного администратора в Drupal 7

28.12.2010

Способ 1 (официальный)

1. Заходим на сервер по SSH, переходим в папку с друпалом и выполняем скрипт:

scripts/password-hash.sh some-password

2. Копируем получившийся хэш, открываем phpMyAdmin и выполняем:

UPDATE `users` SET pass = 'хэш из прошлого пункта' WHERE uid = 1

Способ 2 (с помощью drush)

drush user-password UserName --password=NewPassword

Подробнее.

Написанное актуально для
Drupal 7
Похожие записи

Комментарии

Еще есть старый проверенный вариант, запросить новый пароль на емайл.
Если емайл админа не известен, то его можно посмотреть в базе.

SELECT `mail` FROM `users` WHERE uid = 1

пароль ссылка на смену пароля в таком случае уйдёт на мыло админу :)

Я думал, что тот кто имеет доступ к базе и есть админ. :)

UPDATE `users` SET `mail` = 'new_mail'  WHERE uid = 1
Петров Николай
28.12.2010, 17:01

Получается что семерка использует для шифрования не MD5?

Для шестерки вроде так было:

UPDATE `users` SET pass = MD5('new_password') WHERE uid=1;

замечательно! комментарии там весёлые =) кто на что горазд

Василий
20.12.2011, 13:23

подскажите - как можно сменить пароль разом у всех пользователей в друпал6 через базу?

Игорь
26.02.2015, 17:18

Подскажите как решить эту проблему?
-bash: scripts/password-hash.sh: Permission denied

Игорь
27.02.2015, 17:27

Меняю почту при помощи запроса UPDATE `users` SET `mail` = 'new_mail' WHERE uid = 1
Но письмо не приходит на почту. Обратился к хостеру, он вот что написал:

Письмо с вашего сайта не может быть отправлено, т.к. вы используете в качестве отправителя me@example.com (по SPF-проверке).
Не подменяйте поле "От кого" в сообщениях с сайта либо ставьте пользователя, который по SPF-записи может отправлять письма с этого сервера.

Прошу подсказать как решить эту проблему?

Гость
13.05.2017, 13:33

Также хеш с новым паролем можно сгенерировать следующим образом:
Создать в корне сайта файл с расширением .php, например hash.php и поместить в него код:

<?php
  define('DRUPAL_ROOT', getcwd());
  require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
  require_once DRUPAL_ROOT . '/includes/password.inc';
  drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
  echo user_hash_password('new_password');
  die();
?>

Где “new_password” - новый пароль

После этого перейти на адрес:

http://example.com/hash.php

Гость
13.05.2017, 13:35

Бывают случаи, при которых получить доступ к SSH не удается, а пароль поменять надо.
Для этих целей можно написать скрипт, который производит загрузку ядра Drupal и предоставляет доступ к функциям учетной записи. Этот пример работает только для Drupal 7.

Создать файл с расширение .php и случайным именем, например dy32h3.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,
  // Uncomment the following lines to reset username and/or email address
  //    'name' => 'admin',
  //    'mail' => 'yourmail@example.com'
    ))
    ->condition('uid', '1', '=')
    ->execute();
  print "Complete! Please delete this file immediately!";
  drupal_exit();
?>

При выполнении скрипта происходит смена пароля для учетной записи с uid 1, то есть для самой главной учетной записи.

Добавить комментарий