Inhaltsverzeichnis

, , ,

MAusSK - für linuxmuster.net 7 (Version 0.9x bis 2022)

Hier gehts es zur neuen aktuellen Version → MAusSK 1.x

Ab Version MAusSK 0.88 bis Version 0.91c erkennt das Installationsscript am Server ob eine linuxmuster.net 6 oder 7 vorliegt und passt die Installation entsprechend an. An den Clients ist MAusSK mit Ubuntu-bionic, Ubuntu-20.04-focal, Windows 7 und Windows 10 getestet.
Ab Version MAusSK 0.92 (Sep'2021) ist das Installationsscript nur noch für eine linuxmuster.net 7 und den neuen Ubuntu-Client mit Ubuntu 20.04 geeignet.

Download Version für alten Ubuntu-Client: maus_sk_0.91c.tar.bz2

Download Version für neuen Ubuntu-Client ab 2021: maus_sk_0.95.tar.bz2

Bei lmn 6 betrafen die Sperren meist den aktuellen Raum in dem auch der Master-PC angemeldet war. Bei lmn7 sind die Sperren meist Benutzer-bezogen oder betreffen eine ganze Gruppe, es ändert sich somit die genaue Funktion der Sperren. Z.B wird bei der Internet-Sperre nicht der Client-PC, sondern der angemeldete Benutzer gesperrt.

Bisher umgesetzt und in der Testphase:

Technische Dokumentation der Funktionen → maussk_doku

Weitere Erläuterungen siehe auch Vorgängerversion → skmini

1.) Installation am server

Installationspaket herunterladen und entpacken, man erhält ein Verzeichnis maussk.files .

Am server als root anmelden und Script starten:

# cd maussk.files
# ./install-server.sh

Die Konfigurations-Datei findet man danach unter /etc/linuxmuster/maus/schukodaemon.cfg. Bei der Installation werden auch Dateien und Keys erzeugt, die bei Punkt 2.) zum Client kopiert werden.

Am Server wird der schukodaemon als systemd-Service gestartet und schreibt (falls aktiviert) log-Dateien.

2a.) Installation am Linux-Client bis Version MAusSK 0.91c

Beim alten Linux-Client (bis 2020) wird das Programm-Verzeichnis unter „/srv/samba/…“ eingebunden.

Am Linuxclient als global-admin anmelden, ein Terminal öffnen und das Script starten:

sudo /srv/samba/schools/default-school/program/maus_sk/install-ubuntu-client.sh

Die Konfigurations-Datei findet man danach am server unter /srv/samba/schools/default-school/program/maus_sk/maus_sk.cfg.
Bei Anmeldung als „global-admin“ sowohl am Client als auch an MAusSK erscheint ein Konfigurations-Menü, mit dem man die meisten Optionen der maus_sk.cfg bearbeiten kann.

2b.) Installation am Linux-Client ab Version MAusSK 0.92

Beim neuen Linux-Client 20.04 ab Juni 2021 ist das Programmverzeichnis unter dem home des Users eingebunden. Auch gibt es keinen User, der von vorneherein Schreibrechte auf das Programmverzeichnis hat.

Der Client benötigt während des Installationsprozesses auch für den User root Internetzugang, da dabei Pakete installiert werden.
Am Linux-Client als ein Lehrer anmelden, ein Terminal starten und sich zum lokalen User root des Linux-Clients machen. Danach in das von Server eingebundene Programmverzeichnis wechseln und die Installation ausführen:

$ sudo su
# cd /home/<Lehrername>/media/Programs (K:)/maus_sk
# ./install-ubuntu-client.sh

Damit am Linux-Client das Bildschirm-Sperren funktioniert, muss für den User root ein (beliebiges) Kennwort gesetzt sein, da die Sperre über einen „Bildschirm-Locker“ realisiert wird, der mit Benutzerrechten des User root läuft.

Die Konfigurations-Datei befindet sich am Server unter /srv/samba/schools/default-school/program/maus_sk/maus_sk.cfg. Sie kann nur am Server editiert werden, da der Client für alle User nur Leserechte auf das Verzeichnis besitzt (auch der global-admin kann in der Standardkonfiguration nur lesen!). Ebenso liegt das Binary von MAusSK am Server, so dass bei Updates nicht unbedingt ein neues Image geschrieben werden muss. Nur der mausdaemon wird lokal am Client installiert.

2c.) Lokale Installation am Linux-Client ab Version MAusSK 0.94

An Linux-Client kann man MAusSK auch komplett lokal installieren. Bei Updates oder Änderungen in der Konfigurationsdatei muss man dann allerdings immer ein neues Image schreiben. Dabei wird die MAusSK unter /opt/maus_sk/ angelegt und lokal verlinkt.

$ sudo su
# cd /home/<Lehrername>/media/Programs (K:)/maus_sk
# ./install-ubuntu-client.sh lokal
2a) + 2b) + 2c) → Nach der Installation am Client ein Image schreiben und an alle verteilen!

3.) Installation am Windows-Client

a) Windows Firewall für den Mausdienst vorbereiten

Der Mausdient-Port kann pauschal mit einem Konsolenbefehl geöffnet werden. An der Eingabeaufforderung am Windows-Client mit Administratorberechtigung ausführen:

C:\> netsh advfirewall firewall add rule name="mausdienst" dir=in action=allow protocol=TCP localport=9731

(Alternativ kann der Mausdienst manuell gestartet werden und dann die erscheinende Firewallanfrage bestätigt werden.)

In der Windows-Firewall sollte nun eine eingehende Regel „mausdienst“ aufgelistet sein mit unten stehenden Eigenschaften. Ggf. doppelte Regeln dazu löschen, sonst gibts Probleme. Die Regel sollte für alle Netzwerke gesetzt werden (privat+Domäne+öffentlich).

b) Mausdienst im Windows - logon-Script freischalten

Bei der Installation wird am server unter /var/lib/samba/sysvol/lmn.lan/scripts/default-school/lmn/windows/logon.bat eine auskommentierte Befehls-Zeile eingefügt, die den mausdienst bei der Benutzeranmeldung startet. Diese Zeile muss durch Löschen von „REM“ aktiviert werden:

REM ### Mausdienst beim login starten ###" 

if exist K:\mausdienst\mausdienst.exe start K:\mausdienst\mausdienst.exe

c) MAusSK am Windows-Client verfügbar machen

Nun muss das Master-Programm MAusSK am Windows-Client noch für die Lehrer verfügbar sein. Entweder durch lokale Installation am Windows-Client oder über das Netzwerk. Die Programm-Datei findet man unter dem Netzwerk-Pfad:

K:\maus_sk\maus_sk.exe

d) Thumbnails am Windows-Client verfügbar machen

Für die Thumbnails benötigt man am Windows-Client das Programm Irfanview, das die Screenshots erstellt. Das Programm für alle User lokal mit Standard-Pfad installieren.
In der Konfigurations-Datei am Server /srv/samba/schools/default-school/program/mausdienst/mausdienst.cfg kann man ggf. den Pfad zum Screenshot-Programm anpassen, falls nicht der Standardpfad verwendet wird.

4.) Technisches

a) Austeilen und Einsammeln

Im Gegensatz zur WebUI verwendet MAusSK das Verzeichnis transfer nur beim Schüler zum Einsammeln - bei Lehrer hingegen die Verzeichnisse wie unter linuxmuster.net 6. Beim Austeilen wird im Home ein Verzeichnis _auszuteilen angelegt, in das dann die auszuteilenden Dateien kopiert werden. Die Schüler finden danach ein Verzeichnis _ausgeteilt mit diesen Dateien. Beim Einsammeln findet man die eingesammelten Dateien beim Lehrer in einem Verzeichnis _eingesammelt.
Mit entsprechenden Optionen in /etc/linuxmuster/maus/schukodaemon.cfg können am Server diese Verzeichnispfade jedoch geändert werden.
Der Einsammel-Prozess wird, falls er hängt und zu lange dauert, nach 10 Minuten terminiert. Diese Zeit kann in der schukodaemon.cfg geändert werden.

b) Aktionen am Linux-Client

Durch das Script install-ubuntu-client.sh werden am Linux-Client automatisch verschiedene Anpassungen durchgeführt:

i) Programminstallationen

ii) Konfigurationsdateien

iii) Mausdaemon registrieren und starten

iv) Zugriff für root auf den Desktop des angemeldeten Benutzers erlauben

Datei /etc/X11/xinit/xinitrc.d/50xhost-root.sh mit Inhalt:

#!/bin/bash
 
xhost +si:localuser:root

v) Lokale Internetsperre

In der lmn7 wird die Internetsperre Benutzer-bezogen über die Zugehörigkeit des Benutzers zur Gruppe „Internet“ geregelt. Diese Zugehörigkeit wird vom Proxy der Firewall ausgewertet und dann ggf. der Zugang des Internets gesperrt. Leider funktioniert die Sperre mit einer größeren Verzögerung, da der Proxy diese Auswertung nicht bei jedem Seitenaufruf macht. Als Lösung wird am Linux-Client ein Script installiert, das diese Auswertung alle 20 Sekunden macht und dann ggf. über die lokale Firewall des Clients den Internetzugang des Clients und somit des Benutzers sperrt. Der cronjob zu dem Script muss aber nach Installation erst freigeschaltet werden,

genaueres siehelmn7-internetdaemon

c) Speicherort der Zugangskennwörter

Ab Version 0.88 liegen die Zugangskennwörter für die Clientsteuerung (Datei: md.pass) und für VNC (Dateien: x11vnc.pass, x11vnc.text) nur am Server unter /etc/linuxmuster/maus/. Lese-Zugriff auf diese Dateien hat nur ein über MAusSK authentifizierter Lehrer. Verändern kann diese Dateien nur ein Admin-User, bisher der global-admin. Lokal am Client liegt nur der md5-Hash (Datei: md.md5) zur Datei md.pass.

5.) MAusSK im Blauen / WLAN Netzwerk

Um einen Master im Blauen bzw. WLAN-Netzwerk der linuxmuster.net 7 zu betreiben benötigt man ein aktiviertes Blaues Netzwerk (oder opt1-Netzwerk) und dazu eine neue Firewallregel für Port 9731 in der OPNsense. Die Regel zum Port 4711 erlaubt den VNC-Zugriff vom Blauen Netz zum grünen Netz.

Regel anlegen und aktivieren nicht vergessen. Die Regel erlaubt sowohl den Zugriff auf den Server, als auch den Zugriff direkt auf die Clients. Den Zugriff direkt auf die Clients benötigt man um die Thumbnails abzurufen.

Falls im Netzwerk eine Client-Isolation aktiv ist, schlägt ggf. der Zugriff auf die Clients fehl. Dann muss man alles über den Server abwickeln (Option in den Einstellungen entsprechend setzen). Thumbnails kann man jedoch nicht über den Server abrufen. Ebenso funktioniert dann VNC auch nicht.

Die Android-App ist ab Version 0.87 für linuxmuster.net 7 geeignet → download Android App

6.) VNC und MAusSK

MAusSK beherrscht selbst kein VNC, kann aber externe Tools, die Viewer, direkt ansteuern und damit automatisch eine VNC-Verbindung aufbauen. Am Linux- oder Windows-Client muss dazu ein VNC-Server aktiv sein. Der sonst übliche Port 5900 wurde beim default-cloop der linuxmuster.net auf 4711 oder 5905 geändert, um nicht mit anderen Anwendungen zu kollidieren, die diesen Port benutzen. Dies kann jedoch bei der Konfiguration beliebig angepasst werden, so dass jeder Port möglich ist.
Das bei den Clients festgelegte Kennwort des VNC-Servers muss man bei der Konfiguration der MAusSK setzen, es wird am Server gespeichert - dazu als „global-admin“ an der MAusSK anmelden. Beim Anmelden eines beliebigen Benutzers an MAusSK wird dieses Kennwort dann übertragen, so dass der VNC-Viewer damit automatisch gestartet werden kann. Der Lehrer braucht deshalb das Kennwort nicht zu kennen, es sollte auch genügend komplex sein.

Sicherheitshinweis: Mit der Kenntnis des VNC-Kennworts kann sich jeder an den Clients einklinken. Dies ist auch unabhängig von MAusSK möglich, wenn an den Clients ein VNC-Server läuft. An jedem Client ist jedoch das VNC-Kennwort gespeichert, da der dort laufende Server dieses benötigt. Es ist deshalb sinnvoll an Clients, die von Lehrern genutzt werden, keinen VNC-Server aktiv zu haben.

Hinweise zur Installation von VNC

Unter Ubuntu 20.04 wird als VNC-Viewer das Programm remmina verwendet, das leider keine passenden Konsolen-Parameter bereitstellt. Zum Ansteuern von remmina gibt es deshalb im Programmverzeichnis der MAusSK ein Shell-Script „startremmina.sh“, das man ggf. bei Verbindungsproblemen anpassen kann.

7.) Thumbnails und Screenshots

Die Anzeige der Thumbnails wird in der Datei maus_sk.cfg aktiviert durch:

 GetScreenAbfragen=1

Durch das Aktivieren der Thumbnails werden an den Clients reihum kleine Screenshots erstellt (voreingestellt ist ca. 2,5 Sekunden und 200×150 Pixel). Ein gesamter Durchgang eines Computerraumes von 15 Clients dauert somit ca. 40 Sekunden. Diese Werte können in der Konfiguration verändert werden, jedoch erzeugt man dadurch u.U. eine erhöhte Netzwerklast.
Die Thumbnails sind so klein, dass in ihnen keine personenbezogenen Daten lesbar sind, was Datenschutzhinweise an die Benutzer erübrigt. Die Daten zu den Thumbnails werden direkt zwischen Lehrer-PC und Client ausgetauscht ohne Server-Beteiligung.

Zusätzlich können auch einzelne hochauflösende Screenshots erstellt und abgespeichert werden. Hier ist eine Auflösung von 800×600 voreingestellt, die verändert werden kann. Diese Funktionalität kann vom Administrator ab- oder angeschaltet werden.

Unter Windows werden die Sreenshots mit Hilfe des Programms Irfanview erzeugt, das vorab installiert sein muss.

8.) Raum Layout editieren

Für einen Computerraum kann man das Layout der Thumbnails verändern um z.B. die Thumbnails dem Grundriss des Computerraumes anzupassen.

Im erscheinenden Editor ggf. zunächst die Größe der Thumbnails einstellen. Die Thumbnailgröße wird für jedes Layout getrennt gespeichert. Die Thumbnails können dann per Maus verschoben werden. Die Größe der Fläche des Layouts kann ebenfalls in gewissen Grenzen verändert werden.
Falls man an einem Client arbeitet, der auch zum Raum gehört, kann man diesen zusätzlich im Layout einblenden, so dass er auch später in der MAusSK erscheint.
Es wird immer das Layout des aktuellen Raumes editiert. Um weitere Räume zu layouten muss man im Hauptmenü den Menüpunkt „Raum wechseln“ verwenden.
Durch Löschen eines Layouts kehrt man wieder zur normalen Auflistung zurück.

a) Editieren bis Version 0.91c

Dazu an einem Client als global-admin anmelden und anschließend auch an der MAusSK als global-admin.
Es wird nun ein Menüpunkt „Konfiguration → Raum Layout“ sichtbar.
Das Layout wird am Server in der Datei /srv/samba/schools/default-school/program/maus_sk/layout.ini gespeichert und ist dadurch für alle wirksam.

b) Editieren ab Version 0.92

In der Konfigurationdatei maus_sk.cfg muss der Benutzer, mit dem man das Layout editieren will, als admin aufgelistet sein, z.B. „schneider“:

 AdminUsers=pgmadmin,winadmin,global-admin,schneider

Nun als ein Admin-User an der MAusSK anmelden. Es wird ein Menüpunkt Konfiguration → Raum Layout sichtbar. Das Layout wird im User-home bzw. am Server in der Datei /srv/samba/schools/default-school/teachers/schneider/.maussk/layout.ini gespeichert. Zunächst ist es nur für den User selbst wirksam. Um es für alle wirksam zu machen muss es dann nach /srv/samba/schools/default-school/program/maus_sk/ kopiert werden.

9.) Konfigurationsdateien

Die Konfigurationsdatein schukodaemon.cfg und maus_sk.cfg müssen bei einzelnen gleichen Optionen aufeinander abgestimmt sein. Die Konfigurationsdateien e) und f) sind bei einer linuxmuster.net 7 obsolet, werden aber von der MAusSK weiterverwendet.

a) schukodaemon.cfg

Pfad am Server: /etc/linuxmuster/maus/schukodaemon.cfg

b) maus_sk.cfg

Pfad am Server: /srv/samba/schools/default-school/program/maus_sk/maus_sk.cfg

c) mausdaemon.cfg

Pfad am Ubuntu-Client: /etc/linuxmuster-client/maus/mausdaemon.cfg

d) mausdienst.cfg

Pfad am Windows-Client: Je nach Installationsverzeichnis

e) room_defaults

Pfad am Server: /etc/linuxmuster/room_defaults
Legt fest, welchen Status die Schaltflächen (Internet/Intranet/URL-Filter) der MAusSK beim Starten haben. Die Datei stammt noch aus einer linuxmuster.6, wird in einer linuxmuster.7 vom System sonst nicht mehr verwendet.

f) classrooms

Pfad am Server: /etc/linuxmuster/classrooms
Die Datei stammt noch aus einer linuxmuster.6, wird in einer linuxmuster.7 vom System sonst nicht mehr verwendet. Ist die Datei vorhanden, dann wird sie von MAusSK ausgewertet - ansonsten werden die Klassenräume anhand der devices.csv mit dem Attribut „classroom-studentcomputer“ ermittelt.

g) layout.ini

Pfad am Server: /srv/samba/schools/default-school/program/maus_sk/layout.ini
Beinhaltet die Layouts der Thumbnail-Anordnungen aller Räume.

X.) Fehler - Problembehebung

a) Verzögerter Start der MAusSK

b) Sperrbild erscheint aber die vollständige Sperre des Desktops erfolgt nicht, das Sperrbild kann vom User geschlossen werden

c) schukodaemon läuft nach update nicht mehr automatisch

d) Website bei Clients öffnen

Y.) Debugging

a) Überprüfen, ob am Server der schukodaemon läuft:

# systemctl status schukodaemon

oder

# ps -ax | grep schuko

b) Logdatei am Server überwachen:

# tail -f /var/log/linuxmuster/schukodaemon.log

c) Logging am server konfigurieren mit ausführlichen Einträgen (Datei /etc/linuxmuster/maus/schukodaemon.cfg). Verbose mit Werten 0, 1, 2 oder 3.

useLog=1
debug=1
verbose=1

und dann:

# systemctl restart schukodaemon