89 Commits
Author SHA1 Message Date
adminandClaude Opus 5.5 bda13b5b6f Home-Verschlüsselung: Fixes aus dem grafischen Test auf VM 107
- Bildschirmsperre: Hook läuft dort als Benutzer und ließ das Entsperren
  scheitern; ohne root beendet er sich jetzt ohne Fehler.
- Wiederherstellung: ein schon entsperrtes Home ließ jeden Schlüssel durch;
  der Hook sperrt jetzt vor der Prüfung.
- Anmeldebildschirm: kurze Meldungszeilen (slick-greeter schneidet ab);
  passwort-hinweis zeigt während der Wiederherstellung keinen QR-Code und
  startet den Anmeldebildschirm nicht neu, sonst wäre die Meldung weg.
- Dialog: "Später" passt jetzt zum Text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 07:14:59 +01:00
adminandClaude Opus 5.5 b26dfd4f96 Persönliche Konten: verschlüsseltes Home mit fscrypt und Wiederherstellungsschlüssel
Konten mit "verschluesseln" werden ohne Home angelegt; der PAM-Hook
home-verschluesselung verschlüsselt es bei der ersten Anmeldung mit dem
Passwort und einem zufälligen Wiederherstellungsschlüssel, den ein Dialog
nach der Anmeldung einmalig zeigt. Nach einem Passwort-Reset fragt der
Hook nach dem Schlüssel (Eingabe im Passwortfeld) und hängt das Home auf
das neue Passwort um. Sperren beim Abmelden über logind und user@.service.
fscrypt wird nur eingerichtet, wenn ein Konto es verlangt; nur ext4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 06:44:46 +01:00
adminandClaude Opus 5.5 98a3aa3bf9 Persönliche Homes 0700, auch bestehende Konten
useradd übernahm den Modus aus login.defs; je nach Distribution 0755,
dann las der Gast im unverschlüsselten Home mit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:21:24 +01:00
adminandClaude Opus 5.5 f950b47d69 Agent 33266b6: Bootstrap mit Fingerprint; Fingerprint-Datei nur für root
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:17:36 +01:00
adminandClaude Opus 5.5 35e2431afc Agent d1ebb9e: meldet Firmware-Stand (Prüfroutine Secure Boot)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:49:54 +01:00
adminandClaude Opus 5.5 86f1e81ff5 grundsystem: Startkette update-fest (GRUB_DISTRIBUTOR=Tuxflotte, veraltete Kette in EFI/tuxflotte erneuern)
Paket-Updates von shim/GRUB schrieben nach EFI/ubuntu bzw. EFI/debian,
die Firmware startet aber EFI/tuxflotte. Auf VM 107 (Mint, Secure Boot)
geprüft: veraltete Kette erneuert, zweiter Lauf ohne Änderung,
Paket-Neuinstallation schreibt nach EFI/tuxflotte und EFI/BOOT, Neustart
mit Secure Boot über den neuen Eintrag. roadmap/secure-boot-verschluesselung.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:05:43 +01:00
adminandClaude Opus 5.5 d1bd2bb581 Kiosk: SSH-Sitzungen blockieren keinen Neustart, Autostart ohne Abmelden und selbstheilend, Wrapper sofort weg
Gefunden beim Test auf VM 107 (Mint, 26.10.2026).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:40:27 +01:00
adminandClaude Opus 5.5 9070313731 Rolle kiosk: Vollbild-Browser mit Whitelist am Anmeldebildschirm, optional Autostart (roadmap/kiosk.md)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:52:14 +01:00
adminandClaude Opus 5.5 a778bf67a6 .deb-Rollen: Installation wiederholen, wenn dpkg gesperrt ist
Auf VM 107 (26.10.2026) lief der Agent parallel; dpkg -i wartet nicht
auf die Sperre. Bis zu 10 Versuche im Abstand von 30 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 10:39:20 +01:00
adminandClaude Opus 5.5 c68fd963da Elf neue App-Rollen, Mint-Systembericht abgeschaltet (26.10.2026)
Tipp10, Xournal++, Bluefish, Geany, Shutter (mit Editor) aus den
Distributionsquellen; VS Code und DBeaver aus den Hersteller-Repos;
Zoom per Flathub; BlueJ und Pulsar (statt des eingestellten Atom) als
fest gepinnte .deb mit Prüfsumme; Webex als .deb, nur wenn es fehlt.
grundsystem: Autostart von mintreport per dpkg-divert abgeschaltet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 09:25:02 +01:00
adminandClaude Opus 5.5 822cc89a42 Persönliche Konten speichern WLANs für das ganze Gerät (polkit, ADR-0041, 25.10.2026)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:30:41 +01:00
adminandClaude Opus 5.5 833210ac50 Sitzungsprüfung: abgemeldete Sitzungen (closing) zählen nicht; Hinweis holt Neustart nach (ADR-0041, 25.10.2026)
Auf Liebherr-84 blieb die Cinnamon-Sitzung nach dem Abmelden im Zustand
closing; der Hinweis wurde gesetzt, der Anmeldebildschirm aber nicht neu
gestartet. Gilt ebenso für persoenliche-konten.py und den Abbau.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:05:29 +01:00
adminandClaude Opus 5.5 189c01ae63 Passwort-Hinweis: Bild über AccountsService-D-Bus setzen statt [User] (ADR-0041, 25.10.2026)
Der Anmeldebildschirm liest BackgroundFile aus der LightDM-Erweiterung
(org.freedesktop.DisplayManager.AccountsService), auf Liebherr-84 blieb das
Bild deshalb aus. Weitere Fehleingabe zeigt den Hinweis neu, wenn er nicht
sichtbar ist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 10:55:18 +01:00
adminandClaude Opus 5.5 446c5612d7 Personalisierung: Hinweis mit QR-Code nach Fehleingabe, Gastkonto öffnet die Seite (ADR-0041, 25.10.2026)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 10:36:06 +01:00
adminandClaude Opus 5.5 f975938e3c Personalisierung: Kiosk abbauen, Anmeldebildschirm nach Kontoänderung neu (ADR-0041, 24.10.2026)
Rolle personalisierung baut bei present und absent Konto, Kiosk, PAM-Zeile,
Wächter und LightDM-Konfiguration ab; Wrapper erst nach Neustart von
LightDM. persoenliche-konten.py startet LightDM nach angelegtem,
gesperrtem, entsperrtem oder entferntem Konto neu (nur ohne
Benutzersitzung); Hilfsskript wird immer abgelegt, damit der Schnellweg
auch beim ersten Konto greift.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:15:14 +02:00
adminandClaude Opus 5.5 82b68dc64f Webapps standardmäßig nur im Menü, Desktop-Symbol per Häkchen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:01:53 +02:00
adminandClaude Opus 5.5 93a4786a44 Veyon: privater Schlüssel auch für persönliche Konten (eigene Gruppe statt gast)
Auf Lehrergeräten gehört der private Schlüssel der Gruppe
tuxflotte-veyon-master mit gast und allen regulären Konten (UID 1000-59999);
das Konten-Hilfsskript nimmt neue Konten gleich beim Anlegen auf. Ohne
Lehrerrolle und beim Abwählen wird die Gruppe entfernt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 11:27:00 +02:00
adminandClaude Opus 5.5 f6a41ebcb1 Rolle agent: Fassung von anode laden (ADR-0046 Schritt 3), Gitea als Rückfall
Secret aus agent.credentials im Header (no_log), Adresse aus agent.env.
Fehlschlag per ignore_errors sichtbar, damit der Rückfall greift.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:52:49 +02:00
adminandClaude Opus 5.5 28d1bf780c README: Ausführung über Archiv von anode (ADR-0046), ansible-pull als Rückfall
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:28:05 +02:00
adminandClaude Opus 5.5 297391b668 Agent-Fassung 54f76f1 (ADR-0046 Schritt 2: Stand als Archiv von anode, Git-Rückfall)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:01:12 +02:00
adminandClaude Opus 5.5 5fddb94850 Veyon-Rolle wiederherstellen (Revert des Freigabe-Reverts c219e3b)
Testorganisationen behalten die Veyon-Rolle aus 9e5bc1e; nur der
freigegebene Stand c219e3b ist ohne sie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 17:44:39 +02:00
adminandClaude Opus 5.5 c219e3b846 Freigabe ohne Veyon: Rolle veyon auf den Stand von 586f17a zurücknehmen
Nur für die Freigabe nach ansible-content-stabil (18.10.2026): Kunden
bekommen Personalisierung und Agent ad09d81, die neue Veyon-Rolle
(9e5bc1e) noch nicht. Der folgende Commit stellt sie auf main wieder her.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 17:44:39 +02:00
adminandClaude Opus 5.5 b1d3638b40 personalisierung: versehentlich eingecheckte .pyc entfernen, __pycache__ ignorieren
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 17:44:39 +02:00
adminandClaude Opus 5.5 9e06982b52 personalisierung: Greeter-Neustart nach Fehleingabe einschalten (slick-greeter übernimmt neue Einträge nicht live)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 16:57:54 +02:00
admin ddfb38e18d Merge branch 'passwort-vergessen-nach-fehlversuch' 2026-10-18 16:48:43 +02:00
adminandClaude Opus 5.5 711587cb25 personalisierung: 'Passwort vergessen?' erst nach Fehleingabe (Journal-Wächter, 15 Min sichtbar, Greeter-Neustart als Rückfall)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:52:12 +02:00
adminandClaude Opus 5.5 7b6fdddc47 Merge branch 'agent-konten-sofort'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:39:50 +02:00
adminandClaude Opus 5.5 b3a19e85c2 agent: Fassung ad09d81 (persönliche Konten sofort nach dem Check-in)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:39:13 +02:00
adminandClaude Opus 5.5 e2a63922ba Merge branch 'passwort-vergessen'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:30:17 +02:00
adminandClaude Opus 5.5 6b3f7b5cf4 personalisierung: Eintrag 'Passwort vergessen?' nach der Einrichtung, Kiosk-Adresse je Modus; persoenliche-konten: Schlüsselbund beim Reset wegsichern
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:29:12 +02:00
adminandClaude Opus 5.5 1cd68ff4f9 Merge branch 'personalisierung-greeter'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:15:26 +02:00
adminandClaude Opus 5.5 10ff22ab81 personalisierung: Eintrag zusätzlich per AccountsService SystemAccount ausblenden (nologin allein reichte nicht)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:15:25 +02:00
adminandClaude Opus 5.5 424aeefe5c Merge branch 'gruener-hintergrund'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:03:22 +02:00
adminandClaude Opus 5.5 1156491712 persoenliche-konten: grüner Mint-Hintergrund als Vorgabe (Desktop + Anmeldebildschirm)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:03:22 +02:00
adminandClaude Opus 5.5 bfe78eb50b Merge branch 'passwort-reset'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:00:23 +02:00
adminandClaude Opus 5.5 c81d459b30 persoenliche-konten: Passwort-Reset der Verwaltung einmalig setzen, optional als abgelaufen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:57:55 +02:00
adminandClaude Opus 5.5 0ca6c70cc6 Merge branch 'personalisierung-ausblenden'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:35:58 +02:00
adminandClaude Opus 5.5 79def73019 personalisierung: Eintrag nach Einrichtung ausblenden, Freigabe erst mit aktivem Kiosk-Wrapper (ADR-0041, 18.10.)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:32:51 +02:00
adminandClaude Opus 5.5 6be7905b8b Merge branch 'personalisierung-merkmal'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 17:02:34 +02:00
adminandClaude Opus 5.5 06cca0795a Rolle persoenliche-konten und Agent-Fassung 521b679 (ADR-0041, Schritt 3)
Legt bestätigte Konten an (Hash per chpasswd -e über stdin), sperrt
(abgelaufen, im Greeter ausgeblendet), entsperrt und entfernt nur Konten
mit eigenem Marker. Fehlende Konten in der Liste bleiben unberührt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 15:55:11 +02:00
adminandClaude Opus 5.5 fc894dca59 Rolle personalisierung: Kiosk öffnet das Formular der Kundenplattform
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 15:32:31 +02:00
admin b812e8ec19 Merge branch 'veyon-rolle' 2026-10-15 14:06:48 +02:00
adminandClaude Opus 5.5 586f17a2fb grundsystem: Datei-Capabilities wiederherstellen
Golden Image und Installer verloren security.capability (ping ohne
cap_net_raw auf Liebherr-83). Liste aus den setcap-Aufrufen der postinst-
Skripte der Images: ping, mtr-packet, gst-ptp-helper, snap-confine (aus
.caps), sssd-Helfer. Setzt nur bei Abweichung (setcap -v), im User-
Namespace getestet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:05:41 +02:00
adminandClaude Opus 5.5 9e5bc1e4f8 Rolle veyon: Einrichtung aus Server-Optionen (Schluessel je OE, Lehrer/Schueler, Raumliste, ufw, Dienst)
Bauplan Schritt 2 (platform-docs roadmap/veyon-schluesselverteilung-
diskussion-2026-10-14.md), stellt den Handtest vom 15.10.2026 nach:
Methode 1, Schluessel als Dateien (oeffentlich 444, privat 440 root:gast,
no_log), alte tuxflotte*-Schluessel weg, Raumliste nur auf Lehrern und nur
bei Aenderung (Pruefsumme), ufw 11100 Schueler / 11400 Lehrer, Konfigurator
immer und Master auf Schuelern ausgeblendet, veyon.service an. absent
raeumt nur dort auf, wo die Rolle eingerichtet hatte.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:00:02 +02:00
adminandClaude Opus 5.5 b902527962 fileserver: gemeinsame Ablage, standardmaessig schreibgeschuetzt
Nur noch SMB, per x-systemd.automount (eingehaengt beim Zugriff, nofail
statt Ansible-Fehler bei fehlendem Server) und x-gvfs-show mit Namen in der
Seitenleiste. Schreibzugriff fuer alle nur mit fileserver_schreibzugriff.
Option fileserver_home_freigabe heisst jetzt fileserver_freigabe, WebDAV
entfaellt (davfs2-Zugangsdaten wurden nie hinterlegt). Merkmal laut DB am
15.10.2026 nirgends zugewiesen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:57:50 +02:00
adminandClaude Opus 5.5 2aa8bbdb03 org-ressourcen: Dateimanager-Lesezeichen fuer SMB, WebDAV und Nextcloud
Ein Skript gleicht bei jeder Anmeldung (XDG-Autostart, auch Gastsitzung)
~/.config/gtk-3.0/bookmarks mit /etc/tuxflotte/org-ressourcen.json ab und
verwaltet nur selbst angelegte Eintraege. Nextcloud bekommt den WebDAV-
Zugang /remote.php/webdav. gvfs-backends nur nachinstalliert, wo es fehlt
und eine grafische Sitzung existiert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:47:58 +02:00
adminandClaude Opus 5.5 c077529edd Neue Rolle org-ressourcen: Org-Ressourcen nach /etc/tuxflotte/org-ressourcen.json
Kein Katalog-Merkmal, der Server schickt den Auftrag (vorerst nur an
Organisationen mit Ausrollstufe vorab). App-Rollen lesen die Liste im
selben Lauf aus tuxflotte_auftrag_optionen['org-ressourcen'].

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 12:58:26 +02:00
adminandClaude Opus 5.5 111c9a44fc Rolle personalisierung: Konto „Personalisierung“ mit Kiosk am Anmeldebildschirm (ADR-0041)
LightDM-session-wrapper leitet nur dieses Konto in einen WebKit-Kiosk
(nur Herkunft anode, keine Downloads/Dateidialoge/neuen Fenster,
Leerlauf-Abmeldung). Eigene PAM-Freigabe und logind-Drop-in, unabhängig
von guest-session. GDM wird übersprungen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:41:34 +02:00
adminandClaude Opus 5.5 533fd1867b Neue Rolle org-wlan: systemweites WLAN-Profil fuer alle Benutzer
Template statt nmcli (PSK sonst per ps sichtbar), SSID als Byte-Liste,
PSK GKeyFile-escaped; eigene Datei tuxflotte-org-wlan.nmconnection, das
Installations-WLAN (tuxflotte-installations-wlan.nmconnection) bleibt
unberuehrt. Ungueltige Angaben werden uebersprungen statt den Lauf
scheitern zu lassen. Gegenstueck: provisioning-server Migration 0061,
kundenplattform optionen_felder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:33:54 +02:00
adminandClaude Opus 5.5 2f1076476a grundsystem: resolv.conf wieder auf den systemd-resolved-Stub verweisen lassen
Repariert Geraete, die mit dem Installer vor decc740 installiert wurden:
statische resolv.conf des Installationsnetzes, nach Ortswechsel keine
Namensaufloesung (Liebherr-83, 14.10.2026). Nur bei regulaerer Datei und
laufendem systemd-resolved; alte Datei bleibt als
/etc/resolv.conf.tuxflotte-statisch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:02:33 +02:00