# 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.