Passa al contenuto principale

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 di users.

ComandoScopo
users addCrea un utente.
users change-by-loginAggiorna un utente individuato tramite login.
users change-by-emailAggiorna un utente individuato tramite email.
users getStampa i dettagli di un utente.
users listStampa i login di tutti gli utenti.
users deleteRimuove un utente.
users token createCrea un token API per un utente.
users token listElenca i token API di un utente.
users totp enableAbilita il TOTP per un utente.
users totp showMostra i dettagli TOTP di un utente.
users totp disableDisabilita il TOTP per un utente.

Aggiungere un utente

semaphore user add \
--admin \
--login newAdmin \
--email [email protected] \
--name "New Admin" \
--password "New$Password"
FlagDescrizione
--loginLogin dell'utente. Obbligatorio.
--nameNome visualizzato dell'utente. Obbligatorio.
--emailEmail dell'utente. Obbligatorio.
--passwordPassword dell'utente. Obbligatoria per gli utenti normali; non consentita per gli utenti esterni.
--adminContrassegna il nuovo utente come amministratore.
--externalContrassegna 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"
FlagDescrizione
--loginPer change-by-login, il login dell'utente da individuare (obbligatorio). Per change-by-email, il nuovo login dell'utente.
--emailPer change-by-email, l'email dell'utente da individuare (obbligatoria). Per change-by-login, la nuova email dell'utente.
--nameNuovo nome dell'utente.
--passwordNuova password dell'utente.
--adminConcede 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
FlagDescrizione
--loginLogin del proprietario del token. Obbligatorio.
--nameNome del token.
--ttlDurata 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.

  • enable stampa un codice di recupero monouso, l'URL otpauth:// e un codice QR scansionabile. Conservare il codice di recupero in un luogo sicuro. Fallisce se il TOTP è già abilitato per l'utente.
  • show stampa di nuovo l'URL otpauth:// e il codice QR, oppure TOTP disabled se l'utente non ha alcun TOTP configurato.
  • disable rimuove 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.