Zusätzlich zu FFrewins guter Antwort gibt es hier einige alternative Möglichkeiten, um das Administratorkennwort zurückzusetzen.
Hinweis
Denken Sie daran, dass die meisten dieser Methoden Ihr Passwort auf etwas Einfaches wie setzen admin
. Es ist sehr wichtig, danach ein stärkeres Passwort festzulegen. Wenn Grund zu der Annahme besteht, dass die Site gehackt wurde, möchten Sie möglicherweise andere Benutzer mit Administratorzugriff entfernen, sobald Sie den Zugriff auf Ihre Joomla-Installation wiederhergestellt haben.
Diese Methoden stammen teilweise aus Joomla Docs .
Alternative 1: Datei Configuration.php
Wenn Sie sich mit einem anderen Benutzer anmelden können (ohne Superadministratorrechte), können Sie diese Zeile am Ende der configuration.php
Datei in Ihrem Joomla-Stammverzeichnis hinzufügen :
public $root_user='myname';
Ersetzen Sie myname
durch den Benutzernamen eines Benutzers, dessen Passwort Sie kennen (mit Autorenrechten oder höher). Dieser Benutzer kann sich jetzt als Superadministrator anmelden und Sie können Benutzer im Benutzermanager bearbeiten / hinzufügen. Denken Sie daran, die zusätzliche Zeile aus Ihrer configuration.php
Datei zu entfernen, wenn Sie fertig sind, indem Sie Joomla versuchen lassen, dies automatisch zu tun, wenn Sie dazu aufgefordert werden, oder indem Sie die Datei manuell bearbeiten.
Alternative 2: Neuen Super-Admin-Benutzer hinzufügen
Mit dieser Methode kann ein neuer Superadministrator erstellt werden:
- Öffnen Sie phpMyAdmin (oder ähnlich, abhängig von Ihrem Hosting) und wählen Sie die Datenbank für Joomla! Seite? ˅.
Klicken Sie in der Symbolleiste auf die Schaltfläche "SQL", um eine SQL-Abfrage für die ausgewählte Datenbank auszuführen. Daraufhin wird ein Feld mit dem Namen "SQL-Abfrage / Abfragen in Datenbank ausführen" angezeigt. Löschen Sie den Text in diesem Feld, kopieren Sie die folgende Abfrage und fügen Sie sie ein. Klicken Sie auf die Schaltfläche Los, um die Abfrage auszuführen und den neuen Administratorbenutzer zur Tabelle hinzuzufügen:
INSERT INTO `jos31_users`
(`name`, `username`, `password`, `params`)
VALUES ('Administrator2', 'admin2',
'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');
Denken Sie daran, die beiden Vorkommen von jos31_
durch das Präfix zu ersetzen, das von Ihrer Joomla-Installation verwendet wird (dies ist normalerweise in phpMyAdmin leicht zu erkennen).
Sie können jetzt mit dem Benutzernamen admin2 und dem Passwort secret auf Ihre Site zugreifen . Stellen Sie sicher, dass Sie Ihr Passwort bearbeiten, sobald Sie sich angemeldet haben.
Alternative 3:
Erstellen Sie eine PHP-Datei mit dem folgenden Code, laden Sie sie in Ihr JOOMLAROOT / Administrator-Verzeichnis hoch und führen Sie sie in Ihrem Browser aus. Sie werden sofort angemeldet (sowohl Joomla 2.5 als auch 3) und können Benutzer hinzufügen / bearbeiten. Denken Sie daran, die Datei zu entfernen, wenn Sie fertig sind. Wenn Sie dies nicht tun, wird dies ein großes Sicherheitsproblem darstellen.
Das Tool finden Sie auch hier: http://myext.eu/en/j25-login
<?php
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
if (file_exists(dirname(__FILE__) . '/defines.php')) {
include_once dirname(__FILE__) . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}
require_once JPATH_BASE.'/includes/framework.php';
require_once JPATH_BASE.'/includes/helper.php';
require_once JPATH_BASE.'/includes/toolbar.php';
$app = JFactory::getApplication('administrator');
JPluginHelper::importPlugin('user');
$user = JUser::getInstance();
$db = JFactory::getDBO();
$q = 'SELECT u.* FROM `#__users` as u
LEFT JOIN `#__user_usergroup_map` as ug ON u.id = ug.user_id
WHERE `block` = 0 AND `activation` = 0 AND ug.group_id = 8
LIMIT 0,1';
$db->setQuery($q);
$user_tmp = $db->loadObject();
$user_tmp->guest = 0;
$user_tmp->isRoot = 1;
// $user_tmp->groups = array(8=>8);
// $user_tmp->_authGroups = array(1,8);
// $user_tmp->_authLevels = array(1,1,2,3);
// $user_tmp->gid = 1000;
foreach($user_tmp as $k=>$v){
$user->set($k,$v);
}
$session = JFactory::getSession();
$session->set('user', $user);
$app = JFactory::getApplication();
$app->checkSession();
$app->redirect( JUri::base(), "" );