Kursy • Poradniki • Inspirujące DIY • Forum
Każdy odpowiedzialny użytkownik Raspberry Pi powinien zmienić domyślne hasło (najlepiej od razu po instalacji systemu). Proces ten opisywaliśmy w naszym kursie podstaw Raspberry Pi. Może się jednak zdarzyć, że zapomnimy hasła - szczególnie, gdy było długie i skomplikowane lub po prostu posiadamy kilka malinek i w końcu się pogubimy. W artykule pokazujemy jak zresetować hasło oraz pokonać ewentualne problemy, które mogą stanąć na naszej drodze.
W przeciwieństwie do poradników z innych stron, opisywany tutaj sposób resetu hasła działa również na najnowszym Raspberry Pi z najnowszym Raspbianem (stan na 2019).
Krok 1 - Zmiana trybu uruchomienia Raspberry Pi
Aby zresetować hasło potrzebny nam będzie komputer PC, czytnik kart pamięci, monitor z HDMI oraz klawiatura USB. Jak widać, opisywana tu metoda zadziała tylko, gdy mamy fizyczny dostęp do malinki (i dobrze, inaczej tą drogą ktoś mógłby nam resetować zdalnie hasło).
Opisywana metoda wymaga podłączenia monitora i klawiatury do Raspberry Pi. Nie zadziała, gdy mamy do dyspozycji tylko zdalny dostęp przez SSH lub VNC.
Sposób przygotowania Raspberry Pi do resetu hasła zależy od sposobu, w jaki instalowaliśmy system. Rozróżniamy tutaj dwie wersje:
- "ręczna" instalacja Raspbiana na karcie microSD (np. z użyciem Etchera),
- instalacja Raspbiana za pośrednictwem NOOBSa.
Przygotowanie systemu, który był instalowany "ręcznie"
W pierwszej kolejności wyłączamy Rasberry Pi, wyciągamy kartę pamięci i podłączamy ją do PC. Nasz komputer powinien bez problemu zobaczyć partycję boot, na której odszukujemy plik cmdline.txt.
Plik ten otwieramy w edytorze tekstu (np. Notatnik, Notepad++ lub Atom). Na końcu pliku, po spacji, dopisujemy ciąg "init=/bin/sh". Następnie całość zapisujemy w tej samej lokalizacji. Nowa wersja pliku powinna wyglądać (mniej więcej) tak:
Polecenie należy dopisać na końcu już istniejącej linii!
Dzięki dodaniu tej krótkiej informacji malinka uruchomi się teraz w trybie, który pozwoli nam już łatwo zresetować hasło do konta dowolnego użytkownika. Przygotowaną kartę przekładamy do Raspberry Pi. Podłączamy klawiaturę, monitor i podłączamy zasilanie.
Przygotowanie systemu, który był instalowany przez NOOBSa
Instalacja Raspbiana za pomocą NOOBSa sprawia, że pliki na karcie microSD ułożone są trochę inaczej. Po włożeniu karty do komputera nie znajdziemy tam pliku cmdline.txt. Mamy jednak do niego dostęp z poziomu Raspberry Pi. W związku z tym, karty nie musimy nawet wyciągać z malinki.
Zaczynamy od włączenia Raspberry Pi. Tuż po zniknięciu testera kolorów (tzw. tęczy) pojawi się logo RPi z informacją na temat sposobu wejścia do trybu Recovery - zgodnie z instrukcją wciskamy Shift.
Jeśli wszystko przebiegnie poprawnie to przejdziemy do okna, które widzieliśmy już podczas instalacji Rasbiana z użyciem NOOBSa. Tym razem interesuje nas zakładka dostępna po wciśnięciu klawisza E.
Otworzy się okno, które zawiera szukany przez nad plik konfiguracyjny. Przechodzimy do zakładki cmdline.txt i ustawiamy kursor na końcu pliku. Następnie dopisujemy to samo co poprzednio, czyli: "init=/bin/sh". Należy pilnować, aby polecenie to dopisać na końcu, po spacji, bez żadnego ręcznego przechodzenia do nowej linii.
Po edycji pliku klikamy Ok, a następnie z menu wybieramy opcję Wyjście i czekamy na restart systemu. Tym razem Raspbian uruchomi się w innym trybie.
Krok 2 - Reset hasła na Raspberry Pi
Niezależnie od sposobu zmiany trybu bootowania powinniśmy dojść do takiego momentu, w którym na ekranie pojawi się kilka malinek oraz terminal, w którym znakiem zachęty będzie #. Jeśli na ekranie pojawi się więcej komunikatów to nie musimy się nimi przejmować. Najważniejsze, aby pojawił się #, po którym możemy wydawać nasze polecenia.
System działa, teraz musimy dowiedzieć się jakie partycje mamy na naszej karcie. W tym celu wydajemy najpierw poniższe polecenie:
1 |
mount -t proc none /proc |
Jeśli wszystko przebiegnie poprawnie to nie zobaczymy żadnego komunikatu:
Następnie poniższym poleceniem sprawdzamy jakie partycje są dostępne:
1 |
cat /proc/partitions |
Liczba partycji może być różna. Wszystko zależy od tego czy używamy zwykłego obrazu Raspbiana, czy zainstalowanego przez NOOBSa.
Na wyświetlonej liście szukamy największej partycji, której nazwa będzie zapisana jako mmcblk0pX, gdzie za X wstawiona będzie jakaś cyfra. W naszym przypadku, przy używaniu ręcznie zainstalowanego Rapsbiana, była to partycja mmcblk0p2
W kolejnym kroku musimy ponownie zamontować tę partycję z prawami do zapisu i odczytu. Inaczej nasza późniejsza zmiana hasła nie zakończymy się sukcesem. W tym celu wydajemy polecenie:
1 |
mount -o remount,rw /dev/mmcblk0p2 / |
Należy pamiętać o podstawieniu odpowiedniego numeru oraz o tym, że "l" w nazwie partycji to mała litera "L".
Po wykonaniu tego polecenia raczej nie zobaczymy żadnych informacji zwrotnych, ale w niektórych konfiguracjach systemu możemy otrzymać potwierdzenie ponownego zamontowania partycji. Teraz nareszcie możemy już zmienić hasło wydając polecenie passwd pi i dwukrotnie wpisując hasło.
Oczywiście za "pi" podstawiamy nazwę użytkownika, którego hasło chcemy zmienić.
Tym razem po poprawnej zmianie hasła powinniśmy otrzymać już informację zwrotną. Brak takiego komunikatu (lub błąd) będzie oznaczał niepowodzenie operacji. Sytuacja taka może być spowodowana np. błędnym zamontowanie wcześniej wspomnianych partycji.
Krok 3 - Synchronizacja ustawień nowego hasła
Po poprawnej zmianie hasła, należy zapisać zmiany przenosząc dane z pamięci operacyjnej do pamięci trwałej, po czym można kontynuować rozruch Raspberry Pi w normalnym trybie.
W tym celu korzystamy z dwóch poleceń:
1 2 |
sync exec /sbin/init |
Po krótkim czasie powinien pojawić się znany nam ekran powitalny (w tym przypadku był to Raspbian z interfejsem graficznym). Od teraz możliwe będzie już logowanie się za pomocą nowego hasła.
Krok 4 - Cofnięcie zmian na karcie SD
Na koniec musimy przywrócić nasz system do pierwotnej wersji. Jeśli edytowaliśmy plik cmdline.txt na karcie to możemy postąpić teraz w podobny sposób. Zamykamy system i odłączamy Raspberry Pi od prądu. Wyciągamy kartę i podłączamy ją do komputera. Edytujemy plik cmdline.txt i usuwamy dodany wcześniej fragment "init=/bin/sh".
Po przełożeniu karty i podłączeniu zasilania system uruchomi się już normalnie. Oczywiście powinno już działać logowanie za pomocą nowego hasła.
Alternatywny sposób cofnięcia zmian na karcie
Jeśli udało nam się już zalogować do Raspberry Pi to możemy ten plik edytować bezpośrednio na malince (zarówno w trybie graficznym jak i tekstowym).
Metoda ta zadziała również w przypadku, gdy plik edytowaliśmy przez NOOBSa.
W trybie graficznym należy uruchomić menedżer plików jako superużytkownik. W tym celu trzeba wydać w terminalu następujące polecenie:
1 |
sudo pcmanfm |
Polecenie to otworzy okno menadżera plików z pomarańczowym znakiem informującym o pełnym dostępie do plików. Odnajdujemy lokalizację /boot/ i otwieramy plik cmdline.txt. Po zmodyfikowaniu pliku zapisujemy go i restartujemy malinkę.
Edycji można również dokonać w trybie tekstowym wydając proste polecenie:
1 |
sudo nano /boot/cmdline.txt |
Edytujemy plik, zapisujemy go korzystając z kombinacji Ctrl + X i akceptujemy wprowadzone zmiany klawiszem Y. Po tej operacji malinka będzie uruchamiała się już normalnie.
Jeśli boicie się takich eksperymentów na swoim Raspberry Pi to zawsze dla bezpieczeństwa możecie wcześniej wykonać pełną kopię karty SD:
Kopia zapasowa Raspberry Pi – jak skopiować kartę microSD?
Jak to mawiają: ludzie dzielą się na tych, którzy robią kopie zapasowe i na tych, którzy będą je robić. Wiele…... Czytaj dalej »
To nie koniec, sprawdź również
Przeczytaj powiązane artykuły oraz aktualnie popularne wpisy lub losuj inny artykuł »
hasło, linux, raspberrypi, reset, rpitips
Trwa ładowanie komentarzy...