Account, autenticazione a due fattori e token API
Bucket & Code Server IDE ha account propri: un unico account accede al pannello, a Git, SVN, Bucket e all’editor con lo stesso nome e password. Gli account QTS non consentono l’accesso. La guida spiega l’autenticazione a due fattori, le password usate dai client git e WebDAV quando è attiva, i token API per gli script e il recupero dell’accesso dopo troppi tentativi errati.
- Ruoliviewer, member, developer, admin
- 2FAun codice dal telefono
- Clienttoken di accesso, password per app
- Tokenper script e CI
- Blocchie recupero dell’accesso
Le immagini mostrano il pannello compilato come descritto nella guida. Lo sviluppatore si chiama ola e l’amministratrice ewa; il codice QR è sfocato e la chiave, la password per app e il token sono esempi. Le immagini dell’autenticazione a due fattori e della password per app provengono dai dati di prova del pannello.
01Ruoli
| Ruolo | Permessi |
|---|---|
| viewer / member | viewer legge il pannello; Backups, Storage, Users e Logs sono riservate agli amministratori. member scrive anche su Git, SVN e Bucket dove ha accesso in scrittura, senza editor, processi cron o compilazioni. Nessuno dei due ruoli crea repository Git o organizzazioni. member non può inviare modifiche a repository Git posseduti o amministrati da account sotto developer né, con CI attiva, a quelli con Actions attivo |
| developer | apre anche l’editor, compila app, esegue i propri processi cron e pubblica pacchetti nel repository del NAS (un amministratore li inserisce nell’elenco) |
| admin | tutto: account, impostazioni, archiviazione, rete, moduli, attivazione delle app e caricamento dei moduli del kernel |
Il ruolo developer ha privilegi root sul NAS: il terminale dell’editor, i suoi comandi cron e i flussi CI dei repository a cui può inviare modifiche funzionano come root. Assegnalo solo a persone a cui affideresti la password amministratore del NAS e attiva l’autenticazione a due fattori per ogni developer e admin prima di pubblicare qualsiasi cosa su Internet.
02Attivare l’autenticazione a due fattori
Ogni account la attiva per sé sotto Your account (il pulsante in fondo alla barra delle attività).
- Premi Set up two-factor authentication.

- Scansiona il codice QR con un’app di autenticazione sul telefono oppure inserisci la chiave nell’app. Digita il codice attuale a 6 cifre e premi Turn on. Fino alla conferma del codice l’accesso funziona come prima.

- Da ora l’accesso richiede un codice dopo la password.


- Il codice ha 6 cifre e cambia ogni 30 secondi. È accettato anche un codice anticipato o ritardato di 30 secondi. Lo stesso codice non è mai accettato due volte.
- Se un codice appena generato non funziona, probabilmente l’orologio del telefono è sfasato: imposta l’ora automatica.
- Disattivare l’autenticazione a due fattori richiede la password.
03Git, SVN e Bucket con l’autenticazione a due fattori
Con l’autenticazione a due fattori attiva, i client git, SVN e WebDAV non accettano più la password dell’account. Usano invece:
- Git via HTTP o HTTPS: un token di accesso Forgejo, creato in Forgejo sotto Settings → Applications. Le chiavi SSH funzionano come prima.
- Client SVN e WebDAV: una password per app creata sotto Your account. Ha 25 caratteri casuali in cinque gruppi e viene mostrata una volta sola. Una nuova sostituisce la precedente; cambiare la password dell’account o disattivare l’autenticazione a due fattori la rimuove.

04Token API per script e CI
Uno script o un processo CI usa un token API al posto della password. Sotto Your account premi New token, assegna un nome che ne descriva l’uso e scegli gli ambiti.

- Gli ambiti
read,writeeadmincorrispondono ai ruoli viewer, developer e admin. Un token opera con l’ambito più alto, senza superare il ruolo attuale del proprietario. Nessun ambito corrisponde a member; un member crea token read. - Il token viene mostrato una sola volta; bvsd conserva solo il suo hash. Uno script lo invia come
Authorization: Bearer bvs_…. - Una nuova password revoca tutti i token del proprietario. I token di un account disattivato smettono di funzionare.
- Un token non può cambiare password o autenticazione a due fattori, né creare o eliminare token; un token esposto non può quindi bloccare il proprietario. Elimina i token inutilizzati: chi continua a inviarli riceve 401.
05Password errate e blocchi
- Cinque accessi falliti in 15 minuti da un indirizzo bloccano quell’indirizzo per 15 minuti, anche con la password corretta. Un client IPv6 viene conteggiato come la propria rete /64.
- Cinque errori per un account da un indirizzo bloccano quell’account da quell’indirizzo per 15 minuti.
- Errori per un account da più indirizzi rallentano gli accessi successivi da 125 ms a 2 secondi. Dalla rete locale non bloccano mai l’account.
- Da Internet, 20 errori per un account dall’ultimo accesso riuscito ne bloccano l’accesso da Internet, qualunque sia l’indirizzo di origine. L’accesso dalla rete locale resta possibile. Il numero si imposta sulla pagina Users; 0 disattiva questo blocco.

Dietro un proxy inverso il pannello conta l’indirizzo segnalato dal proxy solo se questo è impostato come attendibile. Altrimenti ogni client viene contato con l’indirizzo del proxy e cinque password errate di chiunque bloccano tutti.
06Cosa può fare un amministratore
Sulla pagina Users un amministratore apre un account dalla sua riga.
- Telefono perso: Turn it off sotto Two-factor authentication. Basta poi la password finché l’account non ripete la configurazione.

- Account bloccato da Internet: Unlock oppure una nuova password.
- Set a new password termina le sessioni dell’account e revoca i suoi token API.
- Disattivare un account termina subito le sue sessioni e ferma i token; i dati restano. L’ultimo amministratore attivo non può essere declassato, disattivato o eliminato.
- I processi cron di un account disattivato o con ruolo member o viewer restano, ma non vengono eseguiti. Eliminare l’account elimina i suoi processi (dalla versione 1.0.0-52, Processi pianificati).
07Quando l’amministratore è bloccato
L’amministratore del NAS reimposta qualsiasi account da una sessione SSH sul NAS. Questi comandi comunicano con bvsd tramite un socket accessibile solo a root e ognuno viene registrato in log/audit.log nella cartella dati:
/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 passwordimposta una nuova password casuale di 20 caratteri e la mostra. Al prossimo accesso l’account deve sceglierne una propria; le sue sessioni terminano e i token API vengono revocati.bvs user totp-resetdisattiva l’autenticazione a due fattori dell’account.bvs user unlockrimuove il blocco causato da troppe password errate da Internet.