Saltar al contenido principal

Usuarios

El comando semaphore users añade, modifica, elimina e inspecciona usuarios, y gestiona sus tokens de API y la verificación TOTP (2FA).

semaphore users --help

user es un alias de users.

ComandoPropósito
users addCrea un usuario.
users change-by-loginActualiza un usuario localizado por su login.
users change-by-emailActualiza un usuario localizado por su correo electrónico.
users getMuestra los detalles de un usuario.
users listMuestra los logins de todos los usuarios.
users deleteElimina un usuario.
users token createCrea un token de API para un usuario.
users token listLista los tokens de API de un usuario.
users totp enableHabilita TOTP para un usuario.
users totp showMuestra los detalles TOTP de un usuario.
users totp disableDeshabilita TOTP para un usuario.

Añadir un usuario

semaphore user add \
--admin \
--login newAdmin \
--email [email protected] \
--name "New Admin" \
--password "New$Password"
OpciónDescripción
--loginLogin del usuario. Obligatorio.
--nameNombre visible del usuario. Obligatorio.
--emailCorreo electrónico del usuario. Obligatorio.
--passwordContraseña del usuario. Obligatoria para usuarios normales; no permitida para usuarios externos.
--adminMarca el nuevo usuario como administrador.
--externalMarca el nuevo usuario como externo (LDAP u OIDC). A los usuarios externos no se les debe indicar --password.

Si tiene éxito, el comando muestra User <login> <email> added!.

Modificar un usuario

Puede localizar el usuario que desea modificar por su login o por su correo electrónico.

# 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"
OpciónDescripción
--loginPara change-by-login, el login del usuario que se va a localizar (obligatorio). Para change-by-email, el nuevo login del usuario.
--emailPara change-by-email, el correo electrónico del usuario que se va a localizar (obligatorio). Para change-by-login, el nuevo correo electrónico del usuario.
--nameNuevo nombre del usuario.
--passwordNueva contraseña del usuario.
--adminConcede permisos de administrador.

Solo se aplican las opciones que proporcione; los campos omitidos se dejan sin cambios. --admin solo puede conceder permisos de administrador. No puede revocarlos; para ello use la interfaz web.

Mostrar un usuario

Muestra los detalles de un único usuario, localizado por login o correo electrónico.

semaphore user get --login myAdmin
# or
semaphore user get --email [email protected]

Se requiere al menos una de las opciones --login o --email. La salida incluye el ID del usuario, la fecha de creación, el login, el nombre, el correo electrónico y si es administrador. Si ningún usuario coincide, el comando muestra un mensaje y termina con un estado distinto de cero.

Listar usuarios

Muestra los logins de todos los usuarios, uno por línea.

semaphore user list

Eliminar un usuario

Elimina un usuario, localizado por login o correo electrónico.

semaphore user delete --login myAdmin
# or
semaphore user delete --email [email protected]

Se requiere al menos una de las opciones --login o --email.

Gestión de tokens de API

Gestione los tokens de API de un usuario desde la CLI:

semaphore user token --help

Crear 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
OpciónDescripción
--loginLogin del propietario del token. Obligatorio.
--nameNombre del token.
--ttlDuración del token como duración de Go (p. ej. 1h, 30m, 24h). Si se omite, el token nunca expira.

El comando muestra el nuevo token en su propia línea y nada más, por lo que es seguro capturarlo en un script:

TOKEN=$(semaphore user token create --login ci --name "CI token" --ttl 720h)

Un valor de --ttl no válido o un login desconocido se notifican y el comando termina con un estado distinto de cero.

Listar tokens

semaphore user token list --login john

--login es obligatorio. Cada línea muestra el nombre del token, su estado (active o expired) y su fecha de expiración en formato RFC 3339 (never si no expira), separados por tabuladores. Los valores de los tokens nunca se muestran.

Gestión de TOTP

Gestione la verificación mediante contraseñas de un solo uso basadas en tiempo (2FA) desde la 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

Todos los subcomandos de TOTP requieren --login.

  • enable muestra un código de recuperación de un solo uso, la URL otpauth:// y un código QR escaneable. Guarde el código de recuperación en un lugar seguro. Falla si TOTP ya está habilitado para el usuario.
  • show vuelve a mostrar la URL otpauth:// y el código QR, o TOTP disabled si el usuario no tiene TOTP configurado.
  • disable elimina la verificación TOTP del usuario. Falla si TOTP no está habilitado.

El emisor que se muestra en las aplicaciones de autenticación se toma de la opción de configuración mfa.totp.app_name (SEMAPHORE_TOTP_ISSUER). Su valor predeterminado es Semaphore.