Files
kiddo/CHANGES.md

1.7 KiB

Changes

Kontext

  • Problem: PAM-Login schlug fehl und spaeter wurden keine Benutzer im UI angezeigt.
  • Ursache: Der Dienst lief als User skd. PAM kann nur den aktuellen Nutzer pruefen; deshalb schlug die Authentifizierung fuer andere Nutzer fehl.
  • UI-Eindruck: Benutzerliste erscheint erst nach "Status laden" (kein Auto-Refresh nach erfolgreichem Login, nur Token setzen).

Service/Deploy-Anpassungen

  • skd.service wird als root gestartet, damit PAM andere Nutzer authentifizieren kann. (Systemd Unit unter /etc/systemd/system/skd.service)
  • SKD_ALLOWED_USERS in /etc/skd/env auf leer gesetzt, damit alle "echten" Nutzer (uid >= 1000, mit Shell) gelistet werden.

Code-Aenderungen

  • backend/actions.py
    • pkill-Exit-Code 1 (keine Prozesse) wird jetzt als normaler Zustand behandelt, kein 500-Fehler mehr.
  • backend/auth.py
    • is_account_locked() hinzugefuegt, liest /etc/shadow und erkennt gesperrte Accounts.
  • backend/models.py
    • UserStatus um account_locked: bool erweitert.
  • backend/app.py
    • /users liefert jetzt account_locked.
    • Schutz: der aktuell angemeldete User kann sich nicht selbst deaktivieren.
  • backend/templates/index.html
    • Statusanzeige zeigt jetzt "aktiv/deaktiviert" pro Benutzer.

Client-Seite / Verhalten

  • Benutzerliste erscheint erst nach "Status laden". Das UI setzt nach dem Login zwar den Token, laedt aber nicht automatisch die Benutzerliste, es sei denn die Funktion wird explizit aufgerufen.
  • Workaround: nach Login einmal "Status laden" klicken.

Relevante Logs/Beobachtungen

  • Vor Umstellung auf root: unix_chkpwd: check pass; user unknown und 401 bei PAM-Login.
  • Nach Umstellung: Login erfolgreich, /users liefert 200.