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` (default `pam`): `pam` oder `oidc`. Ungueltige Werte fallen auf `pam` zurueck. Hinweis: Der Wert wird aktuell nicht zur Erzwingung genutzt; OIDC ist aktiv, sobald die OIDC-Variablen gesetzt sind. - `SKD_AUTH_SECRET` (default `change-me-secret`): HMAC-Secret fuer JWTs. - `SKD_TOKEN_TTL_SECONDS` (default `900`): Token-Laufzeit in Sekunden. - `SKD_AUTH_ALLOWED_USERS` (default leer): Kommagetrennte Liste erlaubter Admin-User (gilt fuer PAM und OIDC). - `SKD_AUTH_ALLOWED_GROUPS` (default `sudo`): Erlaubte Gruppen fuer PAM-Login. - `SKD_AUTH_PAM_SERVICE` (default `login`, auf Debian/Ubuntu via `install.sh` auf `skd` gesetzt). ## OIDC OIDC ist optional und zusaetzlich zu PAM. - `SKD_OIDC_ISSUER` - `SKD_OIDC_CLIENT_ID` - `SKD_OIDC_CLIENT_SECRET` - `SKD_OIDC_REDIRECT_URI` (default `http://localhost:8000/login/oidc/callback`) - `SKD_OIDC_SCOPES` (default `openid profile email`) - `SKD_SESSION_COOKIE_SECURE` (default `false`): Setze `true` fuer HTTPS. - `SKD_OIDC_STATE_COOKIE_NAME` (default `skd_oidc_state`) ## Session/Benutzerverwaltung - `SKD_SESSION_COOKIE_NAME` (default `skd_session`) - `SKD_ALLOWED_USERS` (default leer): Optionales Allowlist fuer verwaltbare System-User. ## Aktionen (Countdown/Notify/Sound) - `SKD_DEFAULT_COUNTDOWN` (default `60` Sekunden) - `SKD_DEFAULT_SOUND` (default `false`) - `SKD_NOTIFY_TIMEOUT` (default `5` Sekunden) - `SKD_NOTIFY_SEND_PATH` (default `notify-send`) - `SKD_SOUND_PLAYER` (default `paplay`) - `SKD_SOUND_FILE` (default `/usr/share/sounds/freedesktop/stereo/dialog-warning.oga`) ## Update-Client - `SKD_UPDATE_SERVICE_URL` (default `https://update.wlkns.org`) - `SKD_UPDATE_PROJECT_ID` (default `safe-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` (default `3600`): Hinweis: wird aktuell nur eingelesen, aber nicht automatisch genutzt. ## Dry-Run - `SKD_DRY_RUN` (default `false`): Keine echten System-Aktionen, nur Logging. ## Hinweise - `scripts/install.sh` erstellt `/etc/skd/env` und setzt Default-Werte fuer PAM/Allowed-User. - Aenderungen in `/etc/skd/env` erfordern einen Service-Restart (`sudo systemctl restart skd.service`).