3.8 KiB
3.8 KiB
ID: DOC_000011 | Version: 0.2.1 | Status: Draft By: Codex (GPT-5)
Konfiguration
Speicherort
Die Konfiguration erfolgt per ENV-Datei, standardmaessig /etc/skd/env. Vorlage: env.example.
Authentifizierung
SKD_AUTH_MODE(defaultpam):pamoderoidc. Ungueltige Werte fallen aufpamzurueck. Hinweis: Der Wert wird aktuell nicht zur Erzwingung genutzt; OIDC ist aktiv, sobald die OIDC-Variablen gesetzt sind.SKD_AUTH_SECRET(defaultchange-me-secret): HMAC-Secret fuer JWTs.SKD_TOKEN_TTL_SECONDS(default900): Token-Laufzeit in Sekunden.SKD_AUTH_ALLOWED_USERS(default leer): Kommagetrennte Liste erlaubter Admin-User (gilt fuer PAM und OIDC).SKD_AUTH_ALLOWED_GROUPS(defaultsudo): Erlaubte Gruppen fuer PAM-Login.SKD_AUTH_PAM_SERVICE(defaultlogin, auf Debian/Ubuntu viainstall.shaufskdgesetzt).
OIDC
OIDC ist optional und zusaetzlich zu PAM.
SKD_OIDC_ISSUERSKD_OIDC_CLIENT_IDSKD_OIDC_CLIENT_SECRETSKD_OIDC_REDIRECT_URI(defaulthttp://localhost:8000/login/oidc/callback)SKD_OIDC_SCOPES(defaultopenid profile email)SKD_SESSION_COOKIE_SECURE(defaultfalse): Setzetruefuer HTTPS.SKD_OIDC_STATE_COOKIE_NAME(defaultskd_oidc_state) Referenz: OIDC-Service (intern) https://git.wlkns.org/stephan/oicd
OIDC-Einbindung (Kurz)
- Issuer setzen (muss der externen URL des IdP entsprechen):
SKD_OIDC_ISSUER=https://auth.example.org
- Client registrieren (DCR), falls der IdP es erlaubt:
export SKD_OIDC_ISSUER="https://auth.example.org"
export SKD_OIDC_REDIRECT_URI="https://kiddo.example.org/login/oidc/callback"
export OIDC_INITIAL_ACCESS_TOKEN="example-token"
./scripts/register_oidc_client.sh
- Client-Credentials in
/etc/skd/envsetzen:
SKD_OIDC_CLIENT_ID=example-client-id
SKD_OIDC_CLIENT_SECRET=example-client-secret
SKD_OIDC_REDIRECT_URI=https://kiddo.example.org/login/oidc/callback
SKD_SESSION_COOKIE_SECURE=true
Hinweis: OIDC ist aktiv, sobald Issuer, Client-ID und Secret gesetzt sind.
Session/Benutzerverwaltung
SKD_SESSION_COOKIE_NAME(defaultskd_session)SKD_ALLOWED_USERS(default leer): Optionales Allowlist fuer verwaltbare System-User.
Aktionen (Countdown/Notify/Sound)
SKD_DEFAULT_COUNTDOWN(default60Sekunden)SKD_DEFAULT_SOUND(defaultfalse)SKD_NOTIFY_TIMEOUT(default5Sekunden)SKD_NOTIFY_SEND_PATH(defaultnotify-send)SKD_SOUND_PLAYER(defaultpaplay)SKD_SOUND_FILE(default/usr/share/sounds/freedesktop/stereo/dialog-warning.oga)
Update-Client
SKD_UPDATE_SERVICE_URL(defaulthttps://update.wlkns.org)SKD_UPDATE_PROJECT_ID(defaultsafe-kiddo-control)SKD_UPDATE_ENROLL_TOKEN(optional; fuer/update/enroll)SKD_UPDATE_TOKEN(optional; alternativ per Datei)SKD_UPDATE_TOKEN_FILE(default/var/lib/skd/update_token)SKD_UPDATE_STATUS_FILE(default/var/lib/skd/update_status.json)SKD_UPDATE_LOG_FILE(default/var/lib/skd/update_logs.jsonl)SKD_UPDATE_INTERVAL(default3600): Hinweis: wird aktuell nur eingelesen, aber nicht automatisch genutzt.
Dry-Run
SKD_DRY_RUN(defaultfalse): Keine echten System-Aktionen, nur Logging.
Tuning und Betrieb (Power-User)
SKD_TOKEN_TTL_SECONDS: kuerzere Tokens reduzieren Risiko, laengere Tokens reduzieren Login-Haeufigkeit.SKD_DEFAULT_COUNTDOWN: steuert Nutzerwarnung vor Sperre/Shutdown.SKD_NOTIFY_TIMEOUT: Dauer der Desktop-Benachrichtigung.SKD_SESSION_COOKIE_SECURE=true: zwingend bei HTTPS, sonst Login-Cookies unsicher.
Hinweise
scripts/install.sherstellt/etc/skd/envund setzt Default-Werte fuer PAM/Allowed-User.- Aenderungen in
/etc/skd/enverfordern einen Service-Restart (sudo systemctl restart skd.service).
Weitere Dokumente
- Nutzung/Automation:
docs/USAGE.md - Deployment:
docs/DEPLOYMENT.md - Architektur:
docs/ARCHITECTURE.md