Konten, Zwei-Faktor-Authentifizierung und API-Tokens
Bucket & Code Server IDE hat eigene Konten: Ein Konto meldet sich mit demselben Namen und Passwort am Panel, an Git, SVN, Bucket und am Editor an. QTS-Konten funktionieren hier nicht. Diese Anleitung behandelt Zwei-Faktor-Authentifizierung, die dafür benötigten Passwörter für git und WebDAV, API-Tokens für Skripte und den Zugang nach zu vielen falschen Passwörtern.
- Rollenviewer, member, developer, admin
- 2FAein Code vom Telefon
- ClientsZugriffstoken, App-Passwort
- Tokensfür Skripte und CI
- Sperrenund der Weg zurück
Die Bilder zeigen das Panel mit den hier beschriebenen Eingaben. Der Entwickler heißt ola und die Administratorin ewa; der QR-Code ist unkenntlich, Schlüssel, App-Passwort und Token sind Beispiele. Die Bilder zur Zwei-Faktor-Authentifizierung und zum App-Passwort stammen aus den Testdaten des Panels.
01Rollen
| Rolle | Berechtigungen |
|---|---|
| viewer / member | viewer liest das Panel; Backups, Storage, Users und Logs sind Administratoren vorbehalten. member schreibt zusätzlich in Git, SVN und Bucket mit erteiltem Schreibzugriff, erhält aber weder Editor noch Cronjobs oder Builds. Beide Rollen erstellen keine Git-Repositories oder Organisationen. member darf nicht in Git-Repositories pushen, die einem Konto unterhalb von developer gehören oder von ihm verwaltet werden, und bei eingeschaltetem CI auch nicht in solche mit aktivierten Actions |
| developer | öffnet zusätzlich den Editor, baut Apps, führt eigene Cronjobs aus und veröffentlicht Pakete im NAS-Repository (ein Administrator nimmt sie in die Liste auf) |
| admin | alles: Konten, Einstellungen, Speicher, Netzwerk, Module, Apps aktivieren und Kernelmodule laden |
Die Rolle developer hat root-Rechte auf dem NAS: Das Editor-Terminal, ihre Cronbefehle und CI-Workflows der Repositories, in die sie pushen kann, laufen als root. Vergeben Sie sie nur an Personen, denen Sie das Administratorpasswort des NAS anvertrauen würden. Aktivieren Sie vor einer Veröffentlichung im Internet die Zwei-Faktor-Authentifizierung für alle developer- und admin-Konten.
02Zwei-Faktor-Authentifizierung aktivieren
Jedes Konto aktiviert sie selbst unter Your account (Schaltfläche unten in der Aktivitätsleiste).
- Drücken Sie Set up two-factor authentication.

- Scannen Sie den QR-Code mit einer Authenticator-App auf dem Telefon oder geben Sie den Schlüssel dort ein. Tragen Sie den aktuellen sechsstelligen Code ein und drücken Sie Turn on. Bis zur Bestätigung funktioniert die Anmeldung wie bisher.

- Ab jetzt wird nach dem Passwort ein Code abgefragt.


- Ein Code hat 6 Ziffern und wechselt alle 30 Sekunden. Codes von 30 Sekunden zuvor oder danach gelten ebenfalls. Derselbe Code wird nie zweimal angenommen.
- Scheitert ein frischer Code, stimmt vermutlich die Telefonuhr nicht: Aktivieren Sie die automatische Uhrzeit.
- Zum Ausschalten der Zwei-Faktor-Authentifizierung ist Ihr Passwort erforderlich.
03Git, SVN und Bucket mit Zwei-Faktor-Authentifizierung
Bei eingeschalteter Zwei-Faktor-Authentifizierung akzeptieren git-, SVN- und WebDAV-Clients das Kontopasswort nicht mehr. Stattdessen verwenden sie:
- Git über HTTP oder HTTPS: ein Forgejo-Zugriffstoken, erstellt in Forgejo unter Settings → Applications. SSH-Schlüssel funktionieren wie bisher.
- SVN- und WebDAV-Clients: ein unter Your account erstelltes App-Passwort. Es besteht aus 25 zufälligen Zeichen in fünf Gruppen und wird einmal angezeigt. Ein neues ersetzt das alte; eine Passwortänderung oder das Ausschalten der Zwei-Faktor-Authentifizierung entfernt es.

04API-Tokens für Skripte und CI
Ein Skript oder CI-Job verwendet ein API-Token statt eines Passworts. Drücken Sie unter Your account New token, vergeben Sie einen Namen, der die Verwendung beschreibt, und wählen Sie die Berechtigungsbereiche.

- Die Bereiche
read,writeundadminentsprechen den Rollen viewer, developer und admin. Das Token handelt mit seinem höchsten Bereich, höchstens jedoch mit der aktuellen Rolle seines Besitzers. Kein Bereich entspricht member; ein member erstellt read-Tokens. - Das Token wird einmal angezeigt; bvsd speichert nur seinen Hash. Ein Skript sendet es als
Authorization: Bearer bvs_…. - Ein neues Passwort widerruft alle Tokens des Besitzers. Tokens eines deaktivierten Kontos funktionieren nicht mehr.
- Ein Token kann weder Passwort noch Zwei-Faktor-Authentifizierung ändern oder Tokens erstellen und löschen. Ein entwendetes Token kann den Besitzer daher nicht aussperren. Löschen Sie ungenutzte Tokens: Wer sie weiter sendet, erhält 401.
05Falsche Passwörter und Sperren
- Fünf fehlgeschlagene Anmeldungen innerhalb von 15 Minuten von einer Adresse sperren diese für 15 Minuten, auch mit richtigem Passwort. Ein IPv6-Client zählt als sein /64-Netz.
- Fünf Fehlversuche für ein Konto von einer Adresse sperren dieses Konto von dieser Adresse für 15 Minuten.
- Fehlversuche für ein Konto von vielen Adressen verzögern weitere Anmeldungen um 125 ms bis 2 Sekunden. Aus dem lokalen Netz sperren sie das Konto nie.
- Aus dem Internet sperren 20 Fehlversuche für ein Konto seit der letzten erfolgreichen Anmeldung dessen Anmeldung aus dem Internet, unabhängig von den verwendeten Adressen. Im lokalen Netz bleibt die Anmeldung möglich. Die Anzahl wird auf der Seite Users eingestellt; 0 deaktiviert diese Sperre.

Hinter einem Reverse-Proxy zählt das Panel dessen gemeldete Adresse nur, wenn der Proxy als vertrauenswürdig eingetragen ist. Sonst zählt jeder Client als Proxy-Adresse, und fünf falsche Passwörter einer beliebigen Person sperren alle aus.
06Was ein Administrator tun kann
Auf der Seite Users öffnet ein Administrator ein Konto über dessen Zeile.
- Telefon verloren: Turn it off unter Two-factor authentication. Danach genügt das Passwort, bis das Konto die Funktion neu einrichtet.

- Konto aus dem Internet gesperrt: Unlock oder ein neues Passwort.
- Set a new password beendet die Sitzungen des Kontos und widerruft dessen API-Tokens.
- Das Deaktivieren eines Kontos beendet sofort dessen Sitzungen und stoppt seine Tokens; die Daten bleiben. Der letzte aktive Administrator kann weder herabgestuft noch deaktiviert oder gelöscht werden.
- Cronjobs deaktivierter Konten oder von Konten mit der Rolle member oder viewer bleiben erhalten, laufen aber nicht. Beim Löschen eines Kontos werden seine Jobs gelöscht (ab Version 1.0.0-52, Geplante Jobs).
07Wenn der Administrator ausgesperrt ist
Der NAS-Administrator setzt jedes Konto über eine SSH-Sitzung auf dem NAS zurück. Diese Befehle sprechen bvsd über einen nur für root zugänglichen Socket an; jeder wird in log/audit.log im Datenordner protokolliert:
/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 passwordsetzt ein neues zufälliges Passwort mit 20 Zeichen und gibt es aus. Bei der nächsten Anmeldung muss das Konto ein eigenes wählen; seine Sitzungen enden und seine API-Tokens werden widerrufen.bvs user totp-resetschaltet die Zwei-Faktor-Authentifizierung für das Konto aus.bvs user unlockhebt die Sperre nach zu vielen falschen Passwörtern aus dem Internet auf.