Jak odzyskać hasło administratora?

Z Joomla!WikiPL

Spis treści

Wprowadzenie

Ponieważ ze względów bezpieczeństwa hasła przechowywane są w bazie danych w postaci zaszyfrowanej, ich odzyskanie jest niemożliwe, ale możliwe jest usunięcie starego hasła i zastąpienie go nowym (zresetowanie).

Hasło można zwykle zresetować, korzystając z funkcji udostępnionej w menu witryny albo w module Logowanie. Wystarczy wówczas wybrać opcję nazwaną standardowo Nie pamiętam hasła, wywołującą formularz, w którym podajemy swoją nazwę użytkownika i adres e-mail, by otrzymać pocztą elektroniczną łącze do strony, na której możemy ustanowić nowe hasło.

Jeśli skorzystanie z tej drogi nie jest możliwe, np. po ataku włamywaczy, konieczne jest najpierw ustalenie nowego hasła w bazie danych, a następnie - po zalogowaniu się - zmiana w edytorze konta głównego administratora. Ten drugi etap jest szczególnie ważny, ponieważ Joomla! dodatkowo koduje hasła.

Jak ustalić hasło w bazie danych?

  1. Połącz się z bazą danych za pomocą swojego klienta obsługi MySQL, np. phpMyAdmin lub MySQL Query Browser.
  2. Odszukaj tabelę #__users (znaki #_ markują Twój przedrostek nazw tabel.)
  3. Odszukaj rekord (wiersz tabeli) z Twoim kontem głównego administratora.
  4. W kolumnie Funkcja wybierz szyfrowanie kluczem MD5
  5. W polu password wpisz tymczasowo jakiekolwiek hasło, np. '1?tymczasowe!@'.
  6. Zapisz zmieniony rekord, klikając przycisk Wykonaj.
  7. Zaloguj się za pomocą przeglądarki do zaplecza Joomla.
  8. Natychmiast po zalogowaniu się zmień ustalone przed chwilą hasło na własne, niepowtarzalne, bezpieczne.
Ostrzeżenie! Ostrzeżenie!
Pominięcie ostatniego kroku stwarza poważne zagrożenie. Hasła w Joomla są dodatkowo kodowane. Jeśli zostawimy niezmienione proste hasło ustawione bezpośrednio w bazie danych, grożą nam wszystkie konsekwencje stosowania słabych haseł.

Jak odzyskać utracone konto głównego administratora?

Każdemu może przytrafić się jeszcze trudniejsza sytuacja - utrata konta głównego administratora. Teoretycznie zdarzyć się nie powinna - jedynego (ostatniego) konta głównego administratora usunąć za pomocą narzędzi zaplecza nie można. Praktyka poucza wszakże, że "niewiedza potrafi czynić cuda".

Joomla 2.5 - 3.x  Joomla 2.5 Joomla 3.x

Korzystając z poniższej instrukcji założysz konto superużytkownika w bazie danych witryny Joomla 2.5 - 3x

  1. Załóż sobie w witrynie nowe konto użytkownika (zarejestruj się).
  2. Zaloguj się do swojego programu obsługi bazy danych (np. phpMyAdmin, MySQL Query Browser).
  3. Sporządź najpierw pełną kopię zapasową bazy danych (na wszelki wypadek).
  4. Odszukaj w tabeli #__users, rekord z nowo założonym kontem (będzie zapewne na końcu tabeli) i zapisz sobie jego ID
  5. Sprawdź w tabeli #__usergroups ID grupy superużytkownicy (Super User)
  6. Otwórz do przeglądu tabelę #_user_usergroup_map i odszukaj w niej rekord ze swoim ID użytkownika,
  7. Poddaj ten rekord edycji, zamień w nim wartość w polu group_id na wartość przypisaną do grupy superuzytkownicy w tabeli #__usergroups.
  8. Spróbuj się zalogować do zaplecza, aby sprawdzić, czy nie operacja utworzenia konta powiodła się

Joomla 1.5 Joomla 1.5

Korzystając z poniższej instrukcji założysz konto superużytkownika w bazie danych witryny Joomla 1.5

  1. Załóż sobie w witrynie nowe konto użytkownika (zarejestruj się).
  2. Zaloguj się do swojego programu obsługi bazy danych (np. phpMyAdmin, MySQL Query Browser).
  3. Sporządź najpierw pełną kopię zapasową bazy danych (na wszelki wypadek).
  4. Odszukaj w tabeli #__users, rekord z nowo założonym kontem (będzie zapewne na końcu tabeli) i
    • Zamień w polu usertype wartość Registered na Super Administrator
    • Zapamietaj sobie numer ID użytkownika
  5. Przejdź do tabeli #__core_acl_aro, odczytaj i zapamiętaj ID pozycji, która w polu value ma wartość równą twojego ID użytkownika
  6. Przejdź do tabeli #_core_acl_groups_aro_map i zmień wartość group_id na 25 w rekordzie, w którym wartość aro_id jest równa wartości zapamiętanej w poprzednim kroku
  7. Spróbuj się zalogować do zaplecza, aby sprawdzić, czy nie operacja utworzenia konta powiodła się

Joomla 1.0 Joomla 1.0

Korzystając z poniższej instrukcji założysz konto superużytkownika w bazie danych witryny Joomla 1.0

  1. Zaloguj się do swojego programu obsługi bazy danych (np. phpMyAdmin).
  2. Na wszelki wypadek, sporządź najpierw pełną kopię zapasową bazy danych.
  3. Sprawdź w tabeli #__users, czy na pewno nie ma w niej rekordu z ID=58.
  4. Wykonaj poniższą kwerendę, aby stworzyć nowe konto głównego administratora nazwane admin2.
INSERT INTO `jos_users` VALUES 
    (58, 'Administrator2', 'admin2', 'your-email@email.com', '21232f297a57a5a743894a0e4a801fc3',  
    'Super Administrator', 0, 1, 25, '2008-09-28 00:00:00', '2008-09-28 00:00:00', '', '');
INSERT INTO `jos_core_acl_aro` VALUES (10,'users','58',0,'Administrator2',0);
INSERT INTO `jos_core_acl_groups_aro_map` VALUES (25,'',10);

5. Zaloguj się na zaplecze używając loginu "admin2" i hasła "admin".
6. Zmień nazwę i hasło głównego administratora na bezpieczniejsze oraz dokonaj innych potrzebnych zmian.

Zobacz także