Utenti
Il comando semaphore users aggiunge, modifica, rimuove e ispeziona gli utenti e
gestisce i loro token API e la verifica TOTP (2FA).
semaphore users --help
userè un alias diusers.
| Comando | Scopo |
|---|---|
users add | Crea un utente. |
users change-by-login | Aggiorna un utente individuato tramite login. |
users change-by-email | Aggiorna un utente individuato tramite email. |
users get | Stampa i dettagli di un utente. |
users list | Stampa i login di tutti gli utenti. |
users delete | Rimuove un utente. |
users token create | Crea un token API per un utente. |
users token list | Elenca i token API di un utente. |
users totp enable | Abilita il TOTP per un utente. |
users totp show | Mostra i dettagli TOTP di un utente. |
users totp disable | Disabilita il TOTP per un utente. |
Aggiungere un utente
semaphore user add \
--admin \
--login newAdmin \
--email [email protected] \
--name "New Admin" \
--password "New$Password"
| Flag | Descrizione |
|---|---|
--login | Login dell'utente. Obbligatorio. |
--name | Nome visualizzato dell'utente. Obbligatorio. |
--email | Email dell'utente. Obbligatorio. |
--password | Password dell'utente. Obbligatoria per gli utenti normali; non consentita per gli utenti esterni. |
--admin | Contrassegna il nuovo utente come amministratore. |
--external | Contrassegna il nuovo utente come esterno (LDAP o OIDC). Agli utenti esterni non deve essere assegnata una --password. |
In caso di successo il comando stampa User <login> <email> added!.
Modificare un utente
L'utente da modificare può essere individuato tramite login o tramite email.
# Find user by login
semaphore user change-by-login \
--login myAdmin \
--password "New$Password"
# Find user by email
semaphore user change-by-email \
--email [email protected] \
--name "Renamed Admin"
| Flag | Descrizione |
|---|---|
--login | Per change-by-login, il login dell'utente da individuare (obbligatorio). Per change-by-email, il nuovo login dell'utente. |
--email | Per change-by-email, l'email dell'utente da individuare (obbligatoria). Per change-by-login, la nuova email dell'utente. |
--name | Nuovo nome dell'utente. |
--password | Nuova password dell'utente. |
--admin | Concede i diritti di amministratore. |
Vengono applicati solo i flag forniti; i campi omessi restano invariati.
--admin può solo concedere i diritti di amministratore. Non può revocarli; per questo
usare l'interfaccia web.
Mostrare un utente
Stampa i dettagli di un singolo utente, individuato tramite login o email.
semaphore user get --login myAdmin
# or
semaphore user get --email [email protected]
È richiesto almeno uno tra --login e --email. L'output include l'ID
dell'utente, la data di creazione, il login, il nome, l'email e lo stato di amministratore. Se nessun utente
corrisponde, il comando stampa un messaggio ed esce con uno stato diverso da zero.
Elencare gli utenti
Stampa i login di tutti gli utenti, uno per riga.
semaphore user list
Eliminare un utente
Rimuove un utente, individuato tramite login o email.
semaphore user delete --login myAdmin
# or
semaphore user delete --email [email protected]
È richiesto almeno uno tra --login e --email.
Gestione dei token API
Gestire i token API di un utente tramite la CLI:
semaphore user token --help
Creare un token
# Token that never expires
semaphore user token create --login john --name "CI token"
# Token that expires after 24 hours
semaphore user token create --login john --name "CI token" --ttl 24h
| Flag | Descrizione |
|---|---|
--login | Login del proprietario del token. Obbligatorio. |
--name | Nome del token. |
--ttl | Durata del token come duration Go (ad esempio 1h, 30m, 24h). Se omesso, il token non scade mai. |
Il comando stampa il nuovo token su una riga a sé, senza altro output, quindi può essere catturato in sicurezza in uno script:
TOKEN=$(semaphore user token create --login ci --name "CI token" --ttl 720h)
Un valore --ttl non valido o un login sconosciuto vengono segnalati e il comando esce
con uno stato diverso da zero.
Elencare i token
semaphore user token list --login john
--login è obbligatorio. Ogni riga riporta il nome del token, il suo stato (active o
expired) e la data di scadenza in formato RFC 3339 (never se non ha
scadenza), separati da tabulazioni. I valori dei token non vengono mai stampati.
Gestione del TOTP
Gestire la verifica tramite password monouso basata sul tempo (2FA) dalla CLI:
semaphore user totp --help
# Enable TOTP for a user (prints a recovery code, the otpauth URL, and a QR code)
semaphore user totp enable --login john
# Show the current TOTP details (otpauth URL and QR code)
semaphore user totp show --login john
# Disable TOTP for a user
semaphore user totp disable --login john
Tutti i sottocomandi TOTP richiedono --login.
enablestampa un codice di recupero monouso, l'URLotpauth://e un codice QR scansionabile. Conservare il codice di recupero in un luogo sicuro. Fallisce se il TOTP è già abilitato per l'utente.showstampa di nuovo l'URLotpauth://e il codice QR, oppureTOTP disabledse l'utente non ha alcun TOTP configurato.disablerimuove la verifica TOTP dell'utente. Fallisce se il TOTP non è abilitato.
L'issuer mostrato nelle app di autenticazione è preso dall'opzione di configurazione mfa.totp.app_name
(SEMAPHORE_TOTP_ISSUER). Il valore predefinito è Semaphore.