ich habe mir jetzt unabhängig von dir, Martin, noch die Mühe gemacht und noch die Verschlüsselung der Leihgeräte mit LUKS durchgezogen. Den Nachteil, den du schreibst: „kann nur ein Benutzer“ habe ich hingenommen, da es sich wirklich um einzel-Verleihen von Geräten geht. Wenn eines zurück geht, kann der/die nächste sich das einrichten. Daher habe ich beschlossen das über zwei Partitionen zu regeln: „tmp“ für das TMP-Verzeichnis und /var/tmp wie bei dir und „/home/user“ für den User.
Entscheidend ist die (1) Vorbereitung der Partitionen und eben noch ein paar Kleinigkeiten um einen lokalen User sich einloggen zu lassen und (2) ein turnkey-Skript, das die Verschlüsselung erstellt und das Einbinden des verschlüsselten User-Homes macht.
Momentan macht das bei mir pam_mount.
Jetzt kommt eventuell @dorian ins Spiel:
Ich habe das Gefühl, dass pam_mount zu Gunsten von pam_exec rausgeflogen ist… also würde ich das gerne im Sinne des linuxmuster-linuxclient7 „richtig“ machen… bloß wie?
Ich habe mein turnkey-Skript in bash und zenity geschrieben wegen der vielen Bash-Befehle, sonst würde ein python-skript mit einer GUI auch gehen.
Ich würde mir wünschen, dass wir uns hier einigen, wie man am besten einen oder mehrere lokale User anlegt und das dem linuxmuster-linuxclient7 Befehl zur Einrichtung beibringt. Ich habe z.B. einen user „anonym“ für autologin falls kein Leihgerät und nicht im Netzwerk. Ich habe einen User „alex“ für obiges Einloggen und Einrichten der Verschlüsselung und dann gibt es noch „linuxadmin“, den wohl jeder hat… usw. da gibt es verschiedene Ansätze, kann ich mir vorstellen.
Hier mal zwei Beispiele in Aktion (erster Versuch nochmal gelöscht, weil der admin.key fehlt)
Ich würde mich freuen, wenn wir die Version von Martin oder mir in linuxmuster-linuxclient7 einbauen könnten, so dass das jeder einrichten kann.
warum willst Du den linuxmuster-linuxclient auf den Leihgeräten haben? Eigentlich braucht man den doch nicht, oder willst Du in der Schule dann die Serverhomes mounten lassen?
Meine Sorge wäre hier, dass wenn es Updates gibt, irgendwas nicht mehr geht, was man normalerweise mit einem neuen Image löst, aber das geht ja bei diesen Geräten nur schwierig.
Ich hätte ein Ubuntu 22.04 für den Zweck, wenn Du magst…
LG
Max
Oh, danke für das abermalige Angebot, und wenn mein Ansatz scheitert, dann komm ich auf dein Angebot zurück.
Aber: ja ich will dasselbe image wie in der Schule, sonst ist das für manche Lehrer ja kein Vorteil.
Ich habe meinen Lehrern angekündigt: sie können entweder selbst updates machen, oder sie stöpseln ab und zu ihren Rechner ins grüne Netz (jeder hat einen eigenen Adapter) und kriegen ein neues Image mit update.
Das home-Verzeichnis bleibt davon unberührt.
Es fehlt daher nur noch ein „leihgeräte“-switch, so dass das Image weiß, dass der Lehrer z.B. seinen offline-Nutzer behalten kann. Ich gebe zu, das habe ich noch nicht ganz durchdacht, weil im Image ja /etc/passwd und /etc/shadow und /etc/group definitiv drin sind…Aber das lässt sich ja lösen: Es sind sicher nur ein paar wenige Dateien, die im Falle eines „Leihgeräte“-Switch-on anders sind als in allen anderen Fällen.
Und mir geht es auch nicht um den linuxmuster-linuxclient7 an sich. Die Funktionalität von server-homes usw. sollte man auch deaktivieren können. Mir ging es um die neue Funktionalität: offline-user ordentlich einrichten zu können und zu aktivieren / deaktivieren.
Ich denke, das ist out-of-scope für den Linuxclient, wenn dann sollte es als eigenes Paket ausgeliefert werden.
Der beste Weg, das in den Linuxclient zu integrieren, ist meiner Meinung nach mit Hookscripten (onLogin, onLogout, …).
Super ausführliche Antwort, Dorian, vielen Dank!
Die API-Doku hatte ich gefunden, aber die sagte mir natürlich nicht, wie was abläuft. Und ich wollte auch nicht genauer fragen, bevor ich nicht einen funktionierenden und aktuellen linuxmuster-linuxclient7 habe. (Da ich noch unter linbo 2.x bin und von 7.1 das linuxclient7-paket nicht gezogen habe, funktioniert bei mir noch einiges nicht richtig, weswegen ich immer fleißig Funktionalität des lc7 abschalte :)…
Damit bleibt für pam_mount ja entweder Platz für meine Lösung, oder ich bastel mein mount in die onLogin(AsRoot) Scripte…
Was deine Meinung: „das sprengt den Rahmen des lc7“… habe ich nochmal nachgedacht. Wenn die Funktionalität von linuxmuster-linuxclient7 nur wäre: „Es führt automatisiert den Domänenbeitritt aus und das vereinheitlicht das Management von Liux- und Windowsclients durch Auslesen der GPO-Konfigurationen im Active Directory.“, dann ok.
Aber das ist ja etwas untertrieben:
prepare-image nimmt typische (generische) Bereinigungen an einem Linuxsystem vor.
/etc/systemd/system/linuxmuster-linuxclient7.service als klassischer systemd-service greift in das System zu Bootzeit und in autostart zu login-zeit ein
dem template-System zufolge greift es in pam, lightdm/sddm, krb, nss, smb und timesyncd
konfiguriert sudo
das hat alles meines wissens nicht so wahnsinnig viel mit dem zu tun, was als GPO im AD steht, oder?
Will damit nur sagen: Wenn es den Bedarf für eine (einheitliche, einfach) out-of-AD-reach-Nutzung (a.k.a. offline-client) gäbe, dann wäre sicher viel über hook-skripte machbar, aber manche Teile von linuxmuster-lc7 würde man evtl. auch gern abhängig von der offline-Nutzung oder online-Nutzung ab- oder anschalten können.
Ich werde es einfach ausprobieren: Wenn ich mir nicht zu helfen weiß, schalte ich lc7-Features ab, um einen offline-client zum Laufen zu bringen und dann melde ich mich, ob das auch eleganter geht.
prepare-image räumt nur Sachen auf, die von der AD-Anmeldung oder GPOs erzeugt werden (Drucker, Userhomes, Gecachete Nutzer, …)
Der systemd service wird benötitgt, um beim boot/shutdown eine Serververbindung aufzubauen und das serverseitige sysstart / sysstop script (und die entsprechenden lokalen) auszuführen
Alles, was der Client im Moment macht, geht nicht hinaus über:
Useranmeldung
GPO:
Shares einbinden
Drucker installieren
Hookscripte
Python API für das alles
Und das würde ich auch gerne so beibehalten. Das kann er und er ist darin auch relativ robust (wie man daran sieht, dass @Michael sich schon lange nicht mehr beschwert hat). Lieber wenige Sachen machen und die dafür gut
Dazu kommt noch, dass es bei der Verschlüsselung ja auch viele individuelle Anforderungen gibt und es nicht so einfach ist, eine einzelne Lösung zu finden, die immer funktioniert und jeden Edge-case abdeckt. Auch Sachen wie as automatische Managen von Profilordnern hab ich genau deshalb nicht eingebaut.
Ja, das ist ein Punkt, der noch nicht wirklich gut unterstützt ist. Offline Unterstützung ist tatsächlich etwas, das noch verbessert werden könnte. Aber auch dann geht Verschlüsselung über den client hinaus.