С проблемой забытого пароля сталкивался едва ли не каждый современный интернет-пользователь: попытки вспомнить его зачастую терпят фиаско спустя некоторое время. В данном руководстве мы расскажем, что нужно делать, когда забыл пароль администратора от сайта, функционирующего на CMS Joomla.
Способы восстановления пароля в Joomla
Восстановить пароль пользователя сайта на Joomla легко, если есть доступ в админку сайта с правами администратора (Super User'a): для этого достаточно войти в настройки соответствующего пользователя и просто поменять существующий пароль. Проблема возникает, если пароль забыт/утерян, и попасть в панель администрирования не представляется возможным.
Для таких случаев в Joomla существует 4 действенных способа восстановления пароля:
- через базу данных (нужен доступ к БД),
- через файл configuration.php (если знаете данные для входа под другим пользователем),
- через Email (не поможет для суперадминистратора),
- с помощью специального скрипта (только для Joomla 3).
Теперь по порядку о каждом из способов.
Восстановление пароля в базе данных
Данные пользователей в базе данных Joomla хранит пароли в зашифрованном виде.
Чтобы поменять пароль администратора в БД, необходимо подключиться к серверу MySQL через PHPMyAdmin или любой другой инструмент для администрирования баз данных. Для этого необходимо знать имя пользователя и пароль для БД, указанные при установке Joomla (эти данные хранятся в файле configuration.php
, размещённом в корневом каталоге).
Порядок восстановления пароля данным способом следующий:
- войдите в базу данных сайта;
- найдите таблицу
PREFIX_users
; - в таблице найдите необходимого пользователя (по значению в колонке name, username или email);
- удалите значение ячейки в колонке password для данной строки;
- вставьте в эту ячейку следующий набор символов:
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
; - сохраните изменения;
- теперь войдите в админку, указав логин и пароль
secret
; - войдите в менеджер пользователей и замените пароль для обеспечения безопасности.
Создание нового администратора в базе данных
Если изменение пароля не сработает или вы не уверены, какой пользователь является суперадминистратором, вы можете использовать этот метод для создания нового пользователя:
- Перейдите в phpMyAdmin и выберите базу данных нужного сайта.
- Перейдите по ссылке SQL. Откроется страница, на которой можно ввести и выполнить SQL-запрос.
- Очистите текстовое поле для запроса, если в нём есть какой-либо текст, после чего скопируйте и вставьте туда следующий код, после чего замените
prefix_
на префикс вашей базы данных:
INSERT INTO `prefix_users` (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) VALUES ('Administrator2', 'admin2', 'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW()); INSERT INTO `prefix_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');
- Нажмите Вперёд для создания нового пользователя с правами суперадминистратора с именем пользователя
admin2
и паролемsecret
. - Войдите в систему, измените пароль и добавьте действующий адрес электронной почты в учетную запись.
В приведённых выше примерах предлагается пароль со значением secret
. Также вы можете использовать другие значения:
Слово | Хэш MD5 |
---|---|
admin | 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT |
secret | d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199 |
OU812 | 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm |
Как восстановить пароль через configuration.php?
Данный способ уместен, если у вас:
- нет доступа к базе данных сайта (если есть, то лучше использовать соответствующий способ восстановления пароля);
- есть доступ к конфигурационному файлу, который размещается в корневой папке сайта;
- есть данные для входа под другим пользователем, который относится к группе Author или выше.
Если эти условия являются верными, то действовать нужно по следующей схеме:
- Подключитесь к своему сайту по FTP, найдите файл configuration.php и проверьте права доступа к файлу. Если права имеют значение 444 или какое-либо другое, то измените их значение на 644, чтобы избежать проблем при обновлении файла позже.
- Скачайте файл конфигурации.
- Откройте его в любом текстовом редакторе (например, notepad или notepad++) и добавьте в него строку
public $root_user='myname';
в конце списка переменных (перед символом}
). В данной строке вместоmyname
должно быть имя пользователя группы Author или выше, для которого вы знаете пароль. - Сохраните файл configuration.php и загрузите его обратно на сервер. Теперь под данными указанного пользователя можно войти в админку с правами суперадминистратора.
- Войдите в систему и измените пароль администратора, для которого у вас нет пароля, или создайте нового. Если вы создаете нового пользователя, то можете заблокировать или удалить старого.
Восстановление пароля Joomla через Email
Самый простой способ — сбросить существующий пароль администратора и сменить его с помощью электронной почты. Это можно сделать по ссылке в модуле авторизации. Если же модуль не опубликован, то ссылка всё равно существует, хоть и не явно: https://домен/index.php?option=com_users&view=login
.
Алгоритм восстановления пароля таким способом следующий:
- Перейдите по ссылке Восстановить пароль в модуле авторизации.
Если модуля нет, то перейдите по упомянутой выше ссылке. - Введите email, указанный при регистрации (установке CMS).
На него придет письмо с кодом подтверждения. - Введите ваш логин и код подтверждения из письма.
После этого вы попадете на страницу ввода нового пароля. - Введите ваш новый пароль.
Однако этот способ не поможет, если:
- нужно восстановить пароль суперадминистратора,
- за учетной записью админа закреплён неправильный Email,
- возникает ошибка при отправке письма и оно не приходит,
- вы не можете попасть в свой почтовый ящик.
В таком случае придется воспользоваться иным способом, о чем ниже.
Восстановление пароля с помощью скрипта
Если у вас есть доступ к сайту через FTP, то можно восстановить пароль администратора с помощью PHP-скрипта A4 Admin S.O.S Password Recover, который:
- работает не со всеми версиями Joomla, подробности в файле readme, который идёт с архивом скриптов;
- находит первую учетную запись администратора, вне зависимости от ID пользователя, и сохраняет измененный пароль в базе данных;
- проверяет, включён ли какой-либо из плагинов, разрешающих авторизацию в Joomla;
- позволяет включать или отключать эти плагины;
- позволяет поменять логин и пароль для существующего администратора или добавить нового.
Инструкция:
- скачайте архив скриптов;
- распакуйте его;
- выберите вложенный архив, соответствующий версии Joomla;
- разархивируйте его, на выходе будет один PHP-файл;
- поместите файл
RatujAdmina_x.php
в корневой каталог Joomla; - перейдите по ссылке
http://домен/RatujAdmina_3.php
; - скрипт определит, существует ли учетная запись администратора (Super User'а);
- в зависимости от результата можно:
- изменить ID и пароль для существующего администратора,
- создать новую учетную запись, если её не существует.
- по окончанию необходимо удалить скрипт с сервера в целях безопасности.
Видеоинструкция
В качестве заключения
Чтобы не допускать инцидентов с утратой любого пароля, рекомендуем использовать софт для хранения паролей (например, KeePass), который обеспечит вас необходимым функционалом для хранения логинов, паролей, ссылок и убережет от лишней головной боли.
Упоминаемые термины:
Joomla, Админка, CMS, configuration.php, SQL, phpMyAdmin, MySQL, Суперадминистратор