Konta i dostęp
Kreator pierwszego uruchomienia, konta administratora i tylko do odczytu
Od wersji 1.6 panel ma konta. Sterownik bez konta nie odpowiada na żadne żądanie API, dopóki konto nie powstanie.
Dotyczy to każdej wersji, z której aktualizujesz. Sterownik przechodzący prosto z 1.5 na 1.7 zachowa się tak samo jak ten przechodzący na 1.6 — reguła dotyczy stanu urządzenia, a nie wersji, z której przyszło.
Pierwsze uruchomienie
Sterownik bez konta pokazuje kreator:
- Start
- Konto — utworzenie konta administratora
- Import — opcjonalne odtworzenie kopii konfiguracji
- Urządzenia — opcjonalne przypisanie wejść do wyjść lub rolet
- Chmura — opcjonalna rejestracja w boneIO Cloud
- Gotowe
Sterownik skonfigurowany przed aktualizacją widzi tylko Start, Konto i Gotowe, więc jego dotychczasowe akcje wejść nie zostają zastąpione. Instrukcję krok po kroku znajdziesz na stronie Pierwsze uruchomienie.
Dopóki go nie dokończysz, panel i API są zamknięte. Wyświetlacz OLED oraz log
aplikacji pokazują SETUP REQUIRED, więc urządzenie, które przeskoczyło kilka
wersji, nie staje się po cichu nieosiągalne.

Kreator ustawia hasło administratora jako hasło SSH użytkownika boneio
jeden raz — gdy to konto jest fabrycznie zablokowane, ma fabryczne hasło
Black albo nie ma żadnego. Hasło, które ktoś już wybrał, zostaje bez zmian,
a kreator mówi, co się stało. Potem oba hasła są niezależne: zmiana hasła
w panelu nie zmienia hasła SSH. Do tego służy karta
Hasło logowania SSH.
Dwie role
| Administrator | Tylko do odczytu | |
|---|---|---|
| Podgląd urządzenia | tak | tak |
| Sterowanie — wyjścia, rolety, nawadnianie, termostaty | tak | tak |
| Zmiana konfiguracji | tak | nie |
| Konta, kopie zapasowe, aktualizacje, restart | tak | nie |
| Własne hasło | tak | ustawia je administrator |
Konto tylko do odczytu jest dla kogoś, kto ma móc korzystać z instalacji, nie mogąc jej przekonfigurować. Może naciskać przyciski — konto, które nie może, jest tylko tablicą informacyjną.
Wszystko, co nie jest jawnie dozwolone, wymaga administratora, więc nowa funkcja jest domyślnie zamknięta dla kont tylko do odczytu, dopóki ktoś nie zdecyduje inaczej.
Kontami zarządza się w Ustawienia → Dostęp → Konta użytkowników. Ostatniego administratora nie da się usunąć ani zdegradować.
Hasło logowania SSH
Po SSH logujesz się zawsze jako boneio, niezależnie od nazwy konta w panelu.
Z tego użytkownika da się zostać rootem, więc jego hasło znaczy więcej niż
jakiekolwiek hasło panelu. Karta Hasło logowania SSH, na dole strony
Konta użytkowników, zmienia je bez otwierania terminala.

- Kliknij Zmień hasło SSH.
- Wpisz obecne hasło SSH, a potem dwa razy nowe. Musi mieć co najmniej
8 znaków i nie może zawierać
boneio. - Potwierdź. Hasła do panelu zostają bez zmian.
Nowe hasło obowiązuje od następnego logowania po SSH, a także przy sudo.
To dokładnie to samo co passwd po SSH i, tak jak passwd, wymaga obecnego
hasła — panel nie ustawi hasła SSH, którego nikt nie zna. Zapomniane odzyskuje
się kartą flashera z BONEIO_RESET_ACCOUNTS=1: konfiguracja zostaje, a konta
panelu zakłada się od nowa w kreatorze.
To, co pokazuje karta, zależy od stanu logowania:
| Karta mówi | Co zrobić |
|---|---|
| Nadal używane jest hasło fabryczne | Zmień je teraz — obecne hasło to fabryczne Black |
| Sam przycisk Zmień hasło SSH | Hasło jest Twoje; zmieniaj, kiedy chcesz |
| Logowanie nie ma żadnego hasła | Każdy, kto dotrze po SSH, się zaloguje. Zaloguj się po SSH jako boneio i uruchom passwd |
| Logowanie jest zablokowane | Żadne hasło jeszcze nie loguje. Ustawia je raz kreator pierwszego uruchomienia |
| Brakuje migracji 1.6.29 | Zastosuj oczekujące migracje systemowe, a do tego czasu używaj passwd |
Kartę widzą tylko administratorzy. Po pięciu błędnych obecnych hasłach w ciągu piętnastu minut karta odrzuca każdą próbę, także z poprawnym hasłem, dopóki najstarsza nie skończy piętnastu minut — i podaje, ile minut zostało. Każde błędne hasło liczy się też do wylogowania sesji.
Zmiana hasła SSH należy do operacji, które pytają ponownie o hasło panelu. Jeśli zalogowałeś się ponad dziesięć minut temu, po wysłaniu formularza SSH pojawi się okno Potwierdź hasło; wpisz hasło do panelu, a zmiana się wykona.
Zapomniane hasło
Odzyskiwanie hasła odbywa się przez SSH, na sterowniku:
boneio accounts list
boneio accounts reset <nazwa>O hasło program pyta interaktywnie — nigdy nie przekazuje się go jako argument, więc nie trafia do historii powłoki.
Uruchamiaj te polecenia jako użytkownik boneio, nie przez sudo. Pod sudo
plik kont staje się własnością roota i aplikacja przestaje go odczytywać;
polecenie ostrzeże, jeśli tak się stanie.
Zmiany działają natychmiast — działająca aplikacja zauważa zmianę pliku i nie wymaga restartu.
Sesje
Po zalogowaniu przeglądarka pozostaje zalogowana przez 30 dni. Zalogowanie jest wysyłane z każdym żądaniem, a nie trzymane w ciasteczku — dlatego też strona otwarta w innej karcie nie może działać w Twoim imieniu.
Usunięcie konta lub zmiana jego roli działa od razu — konto usunięte dziś nie może działać do czasu, aż jego zalogowanie wygaśnie.
Zmiana hasła wylogowuje pozostałe sesje
Gdy hasło konta się zmienia, konto zostaje wylogowane wszędzie, gdzie było zalogowane — z innych przeglądarek, telefonów, tabletu na ścianie:
- Własne hasło (Zmień hasło przy własnym wierszu w Konta użytkowników): ta przeglądarka zostaje zalogowana, cała reszta jest wylogowana.
- Hasło innego konta, ustawione przez administratora: wszystkie sesje tego konta się kończą.
boneio accounts resetpo SSH: wszystkie sesje tego konta się kończą.
Wylogowana przeglądarka przechodzi do ekranu logowania i mówi dlaczego — hasło zostało zmienione albo konto usunięte. Tablet na ścianie zalogowany tym kontem też potrzebuje nowego hasła.
Operacje, które pytają ponownie o hasło
Zalogowanie wystarcza, żeby oglądać sterownik, sterować nim i — jako administrator — zmieniać konfigurację. Krótka lista operacji, których nie da się łatwo cofnąć, wymaga też hasła wpisanego w ciągu ostatnich 10 minut:
- konta — dodanie lub usunięcie, zmiana roli albo hasła, a także hasło logowania SSH
- zastąpienie konfiguracji — import archiwum kopii, odtworzenie kopii zapasowej, pełny lub częściowy reset fabryczny, odtworzenie przepływów Node-RED
- zmiana oprogramowania — aktualizacja lub wycofanie aplikacji, aktualizacja systemu, przełączenie automatycznych poprawek bezpieczeństwa, aktualizacja Caddy (proxy panelu) albo zmiana sposobu jego instalacji
- certyfikaty — wgranie lub usunięcie własnego certyfikatu HTTPS panelu oraz certyfikaty i tryb w Szyfrowanie (TLS) i Szyfrowanie brokera (TLS) na stronach MQTT
Jeśli minęło więcej, panel pokazuje okno Potwierdź hasło i po jego wpisaniu dokańcza to, o co prosiłeś. Przez kolejne 10 minut nie zapyta ponownie; zalogowanie też się liczy. Restart, ponowne uruchomienie, edytor plików i zapisywanie sekcji konfiguracji nigdy nie pytają — pytanie przy codziennej czynności uczy wpisywać hasło bez czytania.
Zbyt wiele błędnych haseł
Logowanie jest ograniczane: dziesięć nieudanych prób na pięć minut, liczone po adresie i po nazwie konta. To opóźnienie, nie blokada — okno się przesuwa, więc nikt nie zablokuje Ci dostępu do własnego sterownika samym zgadywaniem.
Zalogowana sesja ma łącznie pięć błędnych haseł — w oknie Potwierdź hasło, w formularzu zmiany własnego hasła i w karcie Hasło logowania SSH. Piąte wylogowuje tę sesję. Chroni to przeglądarkę pozostawioną zalogowaną przed kimś, kto zgaduje na niej prawdziwe hasło. Wylogowana zostaje tylko ta sesja — pozostałe urządzenia konta działają dalej — a poprawne hasło zeruje licznik. Licznik przetrwa restart sterownika.
Uporczywe zgadywanie trafia też do Home Assistant — zobacz Zdarzenia bezpieczeństwa.
Praca bez kont
Istnieje furtka, celowo niedostępna z panelu:
web:
auth:
allow_anonymous: trueTak skonfigurowany sterownik udostępnia wszystko każdemu w sieci. Działa tylko dopóki nie istnieje żadne konto — skopiowanie flagi na urządzenie, które ma użytkowników, nie otworzy go. Aplikacja loguje ostrzeżenie przy każdym starcie, a panel pokazuje baner, którego nie da się zamknąć.
Jest w config.yaml, a nie w panelu, celowo. Ostrzeżenie to komunikat, a nie
mechanizm kontroli, a przycisk „pomiń" w kreatorze czyniłby ze stanu bez
uwierzytelnienia normalny wynik zamierzonej konfiguracji.