Benutzer
Der Befehl semaphore users fügt Benutzer hinzu, ändert, entfernt und zeigt sie an
und verwaltet ihre API-Tokens sowie die TOTP-Verifizierung (2FA).
semaphore users --help
userist ein Alias fürusers.
| Befehl | Zweck |
|---|---|
users add | Einen Benutzer anlegen. |
users change-by-login | Einen über den Login gefundenen Benutzer aktualisieren. |
users change-by-email | Einen über die E-Mail-Adresse gefundenen Benutzer aktualisieren. |
users get | Die Details eines Benutzers ausgeben. |
users list | Die Logins aller Benutzer ausgeben. |
users delete | Einen Benutzer entfernen. |
users token create | Ein API-Token für einen Benutzer erstellen. |
users token list | Die API-Tokens eines Benutzers auflisten. |
users totp enable | TOTP für einen Benutzer aktivieren. |
users totp show | Die TOTP-Details eines Benutzers anzeigen. |
users totp disable | TOTP für einen Benutzer deaktivieren. |
Einen Benutzer hinzufügen
semaphore user add \
--admin \
--login newAdmin \
--email [email protected] \
--name "New Admin" \
--password "New$Password"
| Flag | Beschreibung |
|---|---|
--login | Login des Benutzers. Erforderlich. |
--name | Anzeigename des Benutzers. Erforderlich. |
--email | E-Mail-Adresse des Benutzers. Erforderlich. |
--password | Passwort des Benutzers. Für reguläre Benutzer erforderlich; für externe Benutzer nicht zulässig. |
--admin | Den neuen Benutzer als Admin kennzeichnen. |
--external | Den neuen Benutzer als extern (LDAP oder OIDC) kennzeichnen. Externen Benutzern darf kein --password übergeben werden. |
Bei Erfolg gibt der Befehl User <login> <email> added! aus.
Einen Benutzer ändern
Sie können den zu ändernden Benutzer entweder über den Login oder über die E-Mail-Adresse finden.
# 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 | Beschreibung |
|---|---|
--login | Bei change-by-login der Login des zu suchenden Benutzers (erforderlich). Bei change-by-email der neue Login des Benutzers. |
--email | Bei change-by-email die E-Mail-Adresse des zu suchenden Benutzers (erforderlich). Bei change-by-login die neue E-Mail-Adresse des Benutzers. |
--name | Neuer Name des Benutzers. |
--password | Neues Passwort des Benutzers. |
--admin | Admin-Rechte gewähren. |
Nur die angegebenen Flags werden angewendet; weggelassene Felder bleiben unverändert.
--admin kann Admin-Rechte nur gewähren, nicht entziehen; verwenden Sie dafür die
Weboberfläche.
Einen Benutzer anzeigen
Gibt die Details eines einzelnen Benutzers aus, der über Login oder E-Mail-Adresse gesucht wird.
semaphore user get --login myAdmin
# or
semaphore user get --email [email protected]
Mindestens eines von --login oder --email ist erforderlich. Die Ausgabe enthält
ID, Erstellungszeitpunkt, Login, Name, E-Mail-Adresse und Admin-Status des Benutzers.
Wird kein passender Benutzer gefunden, gibt der Befehl eine Meldung aus und beendet
sich mit einem Exit-Status ungleich null.
Benutzer auflisten
Gibt die Logins aller Benutzer aus, einen pro Zeile.
semaphore user list
Einen Benutzer löschen
Entfernt einen Benutzer, der über Login oder E-Mail-Adresse gesucht wird.
semaphore user delete --login myAdmin
# or
semaphore user delete --email [email protected]
Mindestens eines von --login oder --email ist erforderlich.
API-Token-Verwaltung
Verwalten Sie die API-Tokens eines Benutzers über die CLI:
semaphore user token --help
Ein Token erstellen
# 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 | Beschreibung |
|---|---|
--login | Login des Token-Besitzers. Erforderlich. |
--name | Name des Tokens. |
--ttl | Lebensdauer des Tokens als Go-Duration (z. B. 1h, 30m, 24h). Ohne Angabe läuft das Token nie ab. |
Der Befehl gibt das neue Token in einer eigenen Zeile und sonst nichts aus, sodass es sich sicher in einem Skript erfassen lässt:
TOKEN=$(semaphore user token create --login ci --name "CI token" --ttl 720h)
Ein ungültiger --ttl-Wert oder ein unbekannter Login wird gemeldet, und der Befehl
beendet sich mit einem Exit-Status ungleich null.
Tokens auflisten
semaphore user token list --login john
--login ist erforderlich. Jede Zeile enthält, durch Tabulatoren getrennt, den Namen
des Tokens, seinen Status (active oder expired) und seinen Ablaufzeitpunkt im
RFC-3339-Format (never, falls es nicht abläuft). Token-Werte werden nie ausgegeben.
TOTP-Verwaltung
Verwalten Sie die Verifizierung per zeitbasiertem Einmalpasswort (2FA) über die 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
Alle TOTP-Unterbefehle erfordern --login.
enablegibt einen einmaligen Wiederherstellungscode, dieotpauth://-URL und einen scannbaren QR-Code aus. Bewahren Sie den Wiederherstellungscode an einem sicheren Ort auf. Der Befehl schlägt fehl, wenn TOTP für den Benutzer bereits aktiviert ist.showgibt dieotpauth://-URL und den QR-Code erneut aus, oderTOTP disabled, wenn für den Benutzer kein TOTP eingerichtet ist.disableentfernt die TOTP-Verifizierung des Benutzers. Der Befehl schlägt fehl, wenn TOTP nicht aktiviert ist.
Der in Authenticator-Apps angezeigte Aussteller stammt aus der Konfigurationsoption
mfa.totp.app_name (SEMAPHORE_TOTP_ISSUER). Der Standardwert ist Semaphore.