Drupal – jak odzyskać hasło? Sposoby na odzyskiwanie haseł dla wersji 6, 7 i 8

Utrata dostępu do zarządzania stroną w Drupalu jest kłopotliwą sytuacją. Jej powód może być jednak błahy i niezwiązany z atakiem hackerskim. Każdemu z nas może się bowiem zdarzyć, że zapomnimy hasła, tracąc w ten sposób możliwość zalogowania się do panelu administracyjnego. Jak zatem rozwiązać ten problem i odzyskać hasło?

Standardowa procedura

Każdy system zarządzania treścią (CMS), także i Drupal, gwarantuje możliwość odzyskania hasła za pośrednictwem poczty e-mail. To standardowa procedura. Wystarczy w miejscu logowania się do systemu kliknąć opcję „przypomnienia hasła”, a na podany podczas instalacji Drupala adres e-mail otrzymamy wiadomość z linkiem do zresetowania hasła. Jedyne, co musimy zrobić, to ją otworzyć i krok po kroku wykonać wszystkie polecenia. Prawda, że proste?

Trudności zaczynają się, jeśli z jakichś względów nie pamiętamy nie tylko hasła, ale i adresu e-mail podanego podczas instalacji CMSa. Zdarzają się również sytuacje, w których adres mailowy służący do przywracania hasła jest błędny lub opcja mail jest wyłączona w systemie. Wówczas standardowa procedura nie zadziała. Czy jednak jest to sytuacja bez wyjścia? Otóż nie. Istnieją bowiem inne sposoby, by odzyskać hasło dla 6,7 i 8 wersji Drupala. Jakie?

Drupal 6 – możliwość szybkiego zmiany hasła

Jeżeli nasza strona internetowa została stworzona w oparciu o Drupal 6, wówczas nie powinniśmy mieć większych trudności ze zmianą zapomnianego hasła na nowe. Pozwoli nam to na odzyskanie dostępu do panelu administracyjnego i zaplecza strony www. Co należy zatem zrobić?

Wystarczy zalogować się do bazy danych MySQL, na której został zainstalowany Drupal, i w interfejsie phpMyAdmin wydać następujące polecenie:

update users set pass = md5 ( ‘newpass‘ ) where uid = 1;

I gotowe! Pamiętać musimy jednak o pewnych kwestiach. Po pierwsze, w poleceniu „1” oznacza użytkownika z prawami administracyjnymi. Jeżeli więc w przeszłości w celach bezpieczeństwa zmieniliśmy numer automatycznie przypisany adminowi, to w kodzie zamiast „1” należy wpisać właściwą cyfrę lub ciąg znaków.

Po drugie, jeżeli nie znamy danych dostępowych do bazy MySQL, odzyskanie dostępu do zaplecza strony internetowej utworzonej w oparciu o Drupal 6 nie będzie możliwe. Po trzecie, jak widać, ta wersja Drupala nie należy do najbezpieczniejszych. Hasło użytkownika administracyjnego jest chronione w tabeli bazy danych MySQL jedynie algorytmem kryptograficznym MD5, przez co o wiele łatwiej o nieautoryzowany dostęp do panelu administracyjnego. Jeżeli więc mamy taką możliwość, uaktualnijmy Drupala 6 do wersji 7. Jest on bowiem lepiej zabezpieczony.

Drupal 7 – jak odzyskać hasło?

Jak zostało wspomniane, Drupal 7 gwarantuje lepszą ochronę hasła niż wersja 6. W praktyce oznacza to więc większe trudności w odzyskaniu dostępu do zaplecza strony internetowej. Nie jest to jednak całkowicie niemożliwe. Poniżej przedstawiamy dwa sposoby, jak tego dokonać.

  1. Za pomocą modułu Shell

Shell to moduł, który przeznaczony jest dla stron internetowych Drupal działających m.in. na współdzielonych środowiskach hostingowych. Jeżeli mamy do niego dostęp, wówczas możemy skorzystać ze specjalnego skryptu Drupala 7, który jest dostępny on-line w zestawie skryptów dla tego CMSa. Za jego pomocą należy wygenerować zahaszowany ciąg znaków nowego hasła.

Następnie ciąg ten należy wpisać do kolumny pass, w tabeli users, w wierszu, który odpowiada użytkownikowi z uprawnieniami administracyjnymi, czyli o wartości uid = 1, chyba że cyfra ta została zmieniona w celach bezpieczeństwa. Mając dostęp do Shell’a, możemy wygenerować zahaszowany ciąg znaków z poziomu głównego katalogu Drupal 7, wpisując:

cd scripts;
password – hash .sh ‘nowehasloadmina‘
  1. Za pomocą skryptu php

Jeżeli nie mamy dostępu do modułu Shell, należy utworzyć skrypt php z odpowiednią zawartością. By tego dokonać, warto posiłkować się skryptami dostępnymi on-line bądź zatrudnić specjalistę.

W następnym kroku należy przesłać skrypt do katalogu głównego systemu Drupal 7 poprzez dowolnego klienta FTP, a potem uruchomić skrypt w przeglądarce. Wyświetli się w niej ciąg znaków, który będzie odpowiadał naszemu hasłu. Ciąg ten trzeba wprowadzić do kolumny o nazwie pass, w tabeli users, za pomocą polecenia wydanego w MySQL: update users set pas = ‘ zahaszowanehasloadmina ‘ where uid = 1;. Oczywiście musi to być poprzedzone uwierzytelnieniem się w interfejsie phpMyAdmin.

Również i w Drupalu 8 możemy zresetować zapomniane hasło, wykorzystując wskazane dla 7. wersji metody, pamiętając jednak o ich dostosowaniu do wymogów nowego wariantu. Jak widać, odzyskanie dostępu do zaplecza strony internetowej utworzonej w oparciu o Drupal nie jest trudne, jednak wymaga pewnych umiejętności programistycznych. Zanim więc przystąpimy do działania, wykonajmy kopię zapasową witryny. Dzięki temu zawsze będziemy mogli powrócić do poprawnie działającej wersji strony www, jeśli coś pójdzie nie tak. Zadanie zresetowania hasła powierzyć możemy także specjaliście.

ANGAB blog firmowy

Dzielimy się wiedzą i dajemy praktyczne wskazówki z zakresu przeprowadzanych przez nas działań.

Potrzebujesz wsparcia?

ANGAB - Wspieramy marki i firmy w Internecie, szkolimy, przeprowadzamy i wdrażamy kampanie reklamowe online, tworzymy narzędzia Internetowe strony WWW, sklepy eCommerce, Aplikacje Internetowe (webowe), Aplikacje mobilne i oprogramowanie dla Firmy.

Przeczytaj inne wpisy na blogu

wszystkie wpisy