Skip to content

User Kommandos

Die User-Konsolen-Kommandos ermöglichen die Verwaltung von Benutzerkonten direkt über die Kommandozeile. Alle Kommandos befinden sich im Controller src/commands/UserController.php.

Benutzer auflisten

Listet alle aktiven Benutzernamen alphabetisch sortiert auf. Dies ist die Standard-Aktion des Controllers.

bash
php yii user
# oder explizit:
php yii user/list

Es werden nur aktive Benutzer angezeigt (nicht soft-deleted).

Passwort zurücksetzen

Setzt das Passwort eines Benutzers interaktiv zurück. Das Passwort wird zweimal abgefragt und muss übereinstimmen.

bash
php yii user/resetpassword <username>

Beispiel

bash
$ php yii user/resetpassword admin
New password:
Confirm password:
Password for user 'admin' has been updated.

Hinweise

  • Das Passwort wird interaktiv eingegeben und erscheint nicht in der Shell-History
  • Das Passwort wird mit Yii::$app->getSecurity()->generatePasswordHash() gehasht (bcrypt)
  • Der Benutzer wird über den username identifiziert — bei unbekanntem Benutzernamen kann zuerst php yii user ausgeführt werden

Administrator-Konto initialisieren

Stellt sicher, dass genau ein administratives Konto existiert und ein brauchbares Passwort besitzt. Das Kommando wird vom Container-Entrypoint bei jedem Start direkt nach den Migrationen ausgeführt und ist daher idempotent.

bash
php yii user/seed-admin

Woher das Passwort kommt

QuelleVerhalten
ADMIN_PASSWORD (Env-Variable)Wird gesetzt, sofern es nicht ohnehin schon hinterlegt ist
ADMIN_PASSWORD_FILE (Docker-Secret aus dem Deployment)wie oben; ein abschließender Zeilenumbruch der Secret-Datei wird ignoriert
nicht gesetztEs wird ein Zufallspasswort erzeugt und genau einmal ins Log geschrieben

Der Kontoname ist über ADMIN_USERNAME konfigurierbar (Default: admin).

Entscheidungslogik

Zustand des KontosDeployment-Passwort gesetztErgebnis
existiert nichtjawird angelegt (created)
existiert nichtneinwird angelegt, Passwort generiert + geloggt
kein/ungültiger Passwort-HashneinPasswort generiert + geloggt (password-set)
trägt noch das historische Standardpasswort adminneinwird rotiert + geloggt (insecure-default-replaced)
beliebiges anderes Passwortneinbleibt unangetastet (unchanged)
beliebiges Passwort, weicht abjawird auf das Deployment-Passwort gesetzt
Passwort entspricht bereits dem Deployment-Passwortjakeine Änderung, kein Log-Eintrag

Fehlt die Rollenzuweisung admin, wird sie in allen Fällen nachgezogen.

Das generierte Passwort finden

Das Zufallspasswort steht nur in diesem einen Log-Eintrag — es wird nirgends im Klartext gespeichert:

  • auf stdout des Containers (docker logs, bzw. der Puppet-Run beim ersten Start)
  • im Log-Target (Loki), Kategorie admin-seed, Level warning

In Grafana z.B. mit

logql
{service_name="iscan-web-<instanz>"} |= "Administrator account"

Ist es verloren, hilft nur php yii user/resetpassword admin.

Hinweise

  • Migrationen legen das Konto ohne Passwort-Hash an — ein Login ist damit unmöglich, bis user/seed-admin gelaufen ist
  • Bestandsinstanzen mit dem alten admin/admin werden beim ersten Start nach dem Update automatisch auf ein Zufallspasswort umgestellt
  • Wer ein festes Passwort will, hinterlegt es im Deployment; ein manuell im UI geändertes Passwort wird davon allerdings bei jedem Start wieder überschrieben

ITeas iScan Applikation Dokumentation

Version: dev-develop Version: dev-develop
Commit: 6b691190
Deployed at: 2026-07-28T15:12:59Z