1.7 KiB
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.servicewird alsrootgestartet, damit PAM andere Nutzer authentifizieren kann. (Systemd Unit unter/etc/systemd/system/skd.service)SKD_ALLOWED_USERSin/etc/skd/envauf leer gesetzt, damit alle "echten" Nutzer (uid >= 1000, mit Shell) gelistet werden.
Code-Aenderungen
backend/actions.pypkill-Exit-Code 1 (keine Prozesse) wird jetzt als normaler Zustand behandelt, kein 500-Fehler mehr.
backend/auth.pyis_account_locked()hinzugefuegt, liest/etc/shadowund erkennt gesperrte Accounts.
backend/models.pyUserStatusumaccount_locked: boolerweitert.
backend/app.py/usersliefert jetztaccount_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 unknownund 401 bei PAM-Login. - Nach Umstellung: Login erfolgreich,
/usersliefert 200.