Unofficial
Na tej stronie
  1. 01Role
  2. 02Włącz uwierzytelnianie dwuskładnikowe
  3. 03Git, SVN i Bucket z uwierzytelnianiem dwuskładnikowym
  4. 04Tokeny API dla skryptów i CI
  5. 05Błędne hasła i blokady
  6. 06Co może administrator
  7. 07Gdy administrator straci dostęp

Konta, uwierzytelnianie dwuskładnikowe i tokeny API

Bucket & Code Server IDE ma własne konta: jedno konto loguje do panelu, Git, SVN, Bucket i edytora tą samą nazwą i hasłem. Kontami QTS nie można się zalogować. Ten poradnik opisuje konfigurację uwierzytelniania dwuskładnikowego, haseł używanych wtedy przez klientów git i WebDAV, tokenów API dla skryptów oraz odzyskiwanie dostępu po zbyt wielu błędnych hasłach.

  1. Roleviewer, member, developer, admin
  2. 2FAkod z telefonu
  3. Kliencitoken dostępu, hasło aplikacji
  4. Tokenydla skryptów i CI
  5. Blokadyi odzyskiwanie dostępu

Zrzuty przedstawiają panel z polami wypełnionymi zgodnie z poradnikiem. Deweloper ma nazwę ola a administrator ewa; kod QR jest zamazany, a klucz, hasło aplikacji i token są przykładowe. Zrzuty uwierzytelniania dwuskładnikowego i hasła aplikacji pochodzą z danych testowych panelu.

01Role

RolaUprawnienia
viewer / memberviewer odczytuje panel; strony Backups, Storage, Users i Logs są dla administratorów. member może też zapisywać w Git, SVN i Bucket tam, gdzie ma prawo zapisu, ale nie ma edytora, zadań cron ani kompilacji. Żadna z tych ról nie tworzy repozytoriów Git ani organizacji. member nie może wysyłać zmian do repozytorium Git należącego do konta poniżej developer lub przez nie administrowanego, a przy włączonym CI również do repozytorium z włączonym Actions
developerdodatkowo otwiera edytor, buduje aplikacje, uruchamia własne zadania cron i publikuje pakiety w repozytorium NAS-a (administrator dodaje je do listy)
adminwszystko: konta, ustawienia, pamięć masowa, sieć, moduły, aktywowanie aplikacji i ładowanie modułów jądra

Rola developer oznacza uprawnienia root na NAS-ie: terminal edytora, polecenia cron dewelopera i przepływy CI repozytoriów, do których może wysyłać zmiany, działają jako root. Przyznawaj ją tylko osobom, którym powierzysz hasło administratora NAS-a. Przed opublikowaniem czegokolwiek w internecie włącz uwierzytelnianie dwuskładnikowe dla każdego konta developer i admin.

02Włącz uwierzytelnianie dwuskładnikowe

Każde konto włącza je dla siebie w Your account (przycisk na dole paska aktywności).

  1. Naciśnij Set up two-factor authentication. Karta uwierzytelniania dwuskładnikowego: wyłączone i przycisk konfiguracji
  2. Zeskanuj kod QR aplikacją uwierzytelniającą w telefonie albo wpisz w niej klucz. Wprowadź aktualny 6-cyfrowy kod z aplikacji i naciśnij Turn on. Do potwierdzenia kodu logowanie działa jak wcześniej. Konfiguracja uwierzytelniania dwuskładnikowego: zamazany kod QR, przykładowy klucz, pole kodu z aplikacji oraz przyciski włączenia i anulowania
  3. Od teraz po podaniu hasła logowanie wymaga kodu. Karta uwierzytelniania dwuskładnikowego: włączone, zmiany dla git, SVN i Bucket oraz przycisk wyłączeniaDrugi krok logowania: kod uwierzytelniający, logowanie jako ola, pole kodu i przycisk weryfikacji
  • Kod ma 6 cyfr i zmienia się co 30 sekund. Akceptowany jest także kod sprzed 30 sekund lub na 30 sekund naprzód. Ten sam kod nigdy nie jest przyjmowany dwukrotnie.
  • Jeśli nowy kod nie działa, zegar telefonu jest prawdopodobnie rozregulowany: ustaw automatyczny czas.
  • Wyłączenie uwierzytelniania dwuskładnikowego wymaga hasła.

03Git, SVN i Bucket z uwierzytelnianiem dwuskładnikowym

Po włączeniu uwierzytelniania dwuskładnikowego klienci git, SVN i WebDAV nie przyjmują już hasła konta. Zamiast niego używają:

  • Git przez HTTP lub HTTPS: tokenu dostępu Forgejo utworzonego w Forgejo w Settings → Applications. Klucze SSH działają jak wcześniej.
  • Klienci SVN i WebDAV: hasła aplikacji utworzonego w Your account. Ma ono 25 losowych znaków w pięciu grupach i jest pokazywane tylko raz. Nowe zastępuje poprzednie; zmiana hasła konta lub wyłączenie uwierzytelniania dwuskładnikowego usuwa je. Karta hasła aplikacji dla WebDAV i SVN: brak hasła i przycisk utworzenia Skopiuj teraz hasło aplikacji: przykładowe hasło i potwierdzenie skopiowania

04Tokeny API dla skryptów i CI

Skrypt lub zadanie CI używa tokenu API zamiast hasła. W Your account naciśnij New token, nadaj mu nazwę wskazującą zastosowanie i wybierz zakresy uprawnień.

Nowy token API: nazwa ci-deploy, zaznaczone zakresy read i write, niezaznaczony admin oraz przycisk utworzenia tokenuSkopiuj teraz token: przykładowy token bvs_ z 40 cyframi szesnastkowymi oraz polecenie curl do jego sprawdzenia
  • Zakresy read, write i admin odpowiadają rolom viewer, developer i admin. Token działa z najwyższym ze swoich zakresów, ale nie przekracza aktualnej roli właściciela. Żaden zakres nie odpowiada roli member; member tworzy tokeny read.
  • Token jest pokazywany tylko raz; bvsd przechowuje wyłącznie jego skrót. Skrypt wysyła go jako Authorization: Bearer bvs_….
  • Nowe hasło unieważnia wszystkie tokeny właściciela, a tokeny wyłączonego konta przestają działać.
  • Token nie może zmieniać hasła ani uwierzytelniania dwuskładnikowego, tworzyć ani usuwać tokenów, więc jego wyciek nie odetnie właścicielowi dostępu. Usuń nieużywany token: wszystko, co nadal go wysyła, otrzyma 401.
Twoje tokeny API: ci-deploy z zakresami read i write, utworzony 8 października 2026, nigdy nieużyty, oraz przycisk usunięcia

05Błędne hasła i blokady

  • Pięć nieudanych logowań w ciągu 15 minut z jednego adresu blokuje ten adres na 15 minut, nawet przy poprawnym haśle. Klient IPv6 jest liczony jako jego sieć /64.
  • Pięć niepowodzeń dla jednego konta z jednego adresu blokuje logowanie na to konto z tego adresu na 15 minut.
  • Niepowodzenia dla jednego konta z wielu adresów spowalniają kolejne logowania od 125 ms do 2 sekund. W sieci lokalnej nigdy nie blokują konta.
  • Po 20 nieudanych logowaniach z internetu na jedno konto od ostatniego udanego logowania dostęp z internetu zostaje zablokowany, niezależnie od adresów źródłowych. Konto nadal działa w sieci lokalnej. Próg ustawia się na stronie Users; 0 wyłącza tę blokadę. Logowania z internetu: blokowanie konta po 20 nieudanych próbach oraz przycisk zapisania

Za odwrotnym proxy panel uwzględnia zgłoszony przez nie adres tylko wtedy, gdy proxy jest zaufane. Inaczej każdy klient jest liczony pod adresem proxy i pięć błędnych haseł dowolnej osoby blokuje dostęp wszystkim.

06Co może administrator

Na stronie Users administrator otwiera konto, naciskając jego wiersz.

  • Zgubiony telefon: Turn it off w Two-factor authentication. Do ponownej konfiguracji konta wystarczy samo hasło. Uwierzytelnianie dwuskładnikowe: włączone, wskazówka przy zgubionym telefonie i przycisk wyłączenia
  • Konto zablokowane z internetu: Unlock lub nowe hasło.
  • Set a new password kończy sesje konta i unieważnia jego tokeny API.
  • Wyłączenie konta natychmiast kończy jego sesje i wstrzymuje tokeny; dane pozostają. Ostatni aktywny administrator nie może zostać zdegradowany, wyłączony ani usunięty.
  • Zadania cron wyłączonego konta i konta z rolą member lub viewer pozostają, ale nie działają. Usunięcie konta usuwa jego zadania (od wersji 1.0.0-52, Zadania zaplanowane).

07Gdy administrator straci dostęp

Administrator NAS-a resetuje dowolne konto z sesji SSH na NAS-ie. Te polecenia łączą się z bvsd przez gniazdo dostępne tylko dla root i każde jest zapisywane w log/audit.log w folderze danych:

/usr/bin/bucketvs/bin/bvs user list
/usr/bin/bucketvs/bin/bvs user password administrator
/usr/bin/bucketvs/bin/bvs user totp-reset administrator
/usr/bin/bucketvs/bin/bvs user unlock administrator
  • bvs user password ustawia nowe losowe hasło o długości 20 znaków i je wyświetla. Przy następnym logowaniu konto musi wybrać własne hasło; jego sesje kończą się, a tokeny API zostają unieważnione.
  • bvs user totp-reset wyłącza uwierzytelnianie dwuskładnikowe konta.
  • bvs user unlock usuwa blokadę po zbyt wielu błędnych hasłach z internetu.