Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:linuxclient:maus]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

anwenderwiki:linuxclient:maus [2017/02/09 21:17] (aktuell)
Zeile 1: Zeile 1:
 +{{tag> maus classroommanagement}}
  
 +====== MAus1 - Classroommanagement ======
 +<note warning>​Programm ist ersetzt durch -> [[anwenderwiki:​linuxclient:​maus2|MAus2]]</​note>​
 +Programm als Ersatz zu iTALC. Sendet in einem Computerraum ssh-Befehle an die Linux-Clients oder Netzwerk-Befehle an die Windows-Clients um die **M**onitore **Aus**zuschalten. Der Key zur Authentifizierung der ssh-Befehle bzw. das Passwort der Netzwerk-Befehle wird am Server im Programmverzeichnis abgelegt und ist nur für die Gruppe Lehrer lesbar. An den Windows-Clienst läuft ein "​Mausdienst"​ um die Netzwerk-Befehle auszuführen.
 +
 +Features:
 +  * einfaches Fenster auf dem Desktop mit drei Buttons
 +  * steuernder Master/​Lehrer-PC kann Linux oder Windows 7/10 haben
 +  * zu steuernder Client/​Schüler-PC mit Ubuntu 14.04, Ubuntu 16.04 oder Windows 7/10
 +  * Sperren, Freigeben der Schüler-PC in einem Raum mit schwarzem Bildschirm oder einem Sperrbild
 +  * Einzelne Schüler-PC können für die Funktionen selektiert werden
 +  * Herunterfahren,​ Reboot, Logout, Wake On LAN der Schüler-PC
 +  * Nachrichten können an einzelne oder alle Schüler-PC gesendet werden
 +  * Beliebige Shell- bzw. Commandline-Befehle können an einzelnen oder allen Schüler-PC ausgeführt werden (unter User root bzw. dem angemeldeten Windows-Anwender)
 +  * bis zu 20 verschiedene Räume sind konfigurierbar
 +  * nur ein Lehrer kann die Schüler-PC des Raumes sperren, da nur ein Lehrer Zugriff auf den private ssh-Key bzw. das Mausdienst-Passwort hat
 +  * der Lehrer-PC ist variabel oder kann fest vorgegeben werden
 +  * nur der pgmadmin kann die Konfiguration der Räume bearbeiten
 +  * Programm kann über das Unity-Startmenü (Dash) gestartet werden oder dem Startmenue bei Windows
 +  * IP und MAC - Adressen können aus der workstations-Datei importiert werden
 +  * per VNC kann mit einzelnen Schüler-PC verbunden werden (am Schüler-PC muss dazu ein VNC-Server laufen)
 +
 +
 +{{ :​anwenderwiki:​linuxclient:​maus-052-raeume.jpg?​600 |}}
 +===== Vorbereitung am Server =====
 +
 +Die Konfiguration des Programms erfolgt über den Benutzer "​pgmadmin",​ der deshalb in die Gruppe "​teachers"​ aufgenommen werden muss. Für die Ausführung des install-Scriptes benötigt der pgmadmin eine shell. Dazu __am Server__ als root folgende Befehle ausführen: ​
 +   # smbldap-usermod -G teachers pgmadmin
 +   # sophomorix-passwd -u pgmadmin --shell /bin/bash
 +
 +===== Programm installieren am Linux-Client ===== 
 +**Download:​** [[http://​www.linuxmuster.net/​wiki/​_media/​anwenderwiki:​linuxclient:​maus-0.54.tar.bz2|maus-0.54-tar-Paket]].
 +
 +
 +**Am Linux-Schüler-PC:​** Als pgmadmin anmelden, das tar-Paket entpacken (man erhält das Verzeichnis ''​maus.files''​) und dann in einem Terminal mit root-Rechten das enthaltene Script „install.sh“ ausführen (-> [[anwenderwiki:​linuxclient:​mausinstall|Details zum install-Script]]).  ​
 +
 +
 +
 +
 +  sudo ./​install.sh
 +Das Script ist __nur__ für die Erstinstallation geeignet. Nach Installation kann das tar-Paket und das entpackte Verzeichnis ''​maus.files''​ gelöscht werden.\\
 +**Danach reboot des Linux-Schüler-PC und ein Image schreiben.**\\
 +Das Image kann problemlos für alle PCs verwendet werden, so dass man nur ein allgemeines Image hat, unabhängig von Schüler PC - Lehrer PC - beliebige Räume.
 +
 +{{ :​anwenderwiki:​linuxclient:​screen-closed.jpg?​220|}}
 +
 +Das Bild zum Sperrbildschirm muss als X-Windows-Bitmap vorliegen. Es wird am Client unter ''/​root/​bin/​closed.xbm''​ abgelegt. Das Bild wird, wenn zu klein, als Kachel verwendet.
 +
 +**Universelles postsync-Script:​** Falls dieses installiert ist und die Datei ''/​root/​.ssh/​authorized_keys''​ verteilt muss der public-ssh-Maus-Key dieser Datei händisch angehängt werden. Am Server dazu ausführen (????? durch die Patchklasse ersetzen):
 +  # cat /​home/​samba/​progs/​maus/​maus-key.pub >> /​var/​linbo/​linuxmuster-client/?????/​common/​root/​.ssh/​authorized_keys
 +
 +
 +Bei der Installation wird automatisch ein ssh-Keypaar erzeugt. Ebenso wird für den "​Mausdienst"​ ein Zufallspasswort erzeugt und benötigte ssl-Keys mit Zertifikaten. Der pgmadmin kann das Programm auch entsperren und ein neues ssh-Key-Paar erzeugen und installieren. Danach ein Image schreiben und verteilen, da alle Linux-Clients den neuen public-ssh-Key benötigen. \\
 +  ​
 +===== Update =====
 +**Zum Updaten am Linux-Schüler-PC:​** Als pgmadmin anmelden, das tar-Paket entpacken und dann in einem Terminal mit root-Rechten das enthaltene Script „update.sh“ ausführen.\\
 +Dabei werden werden alle Programm-Dateien am Server und am Linux-Client ersetzt. Die Konfigurations-Datei wird beibehalten. Die ssh-Keys (ggf. mit VNC-Passwort-Datei) werden nicht verändert sondern vom Server zum Client zurückgeschrieben.
 +
 +Das update-Script eignet sich auch um auf einem zweiten Linux-Image MAus zu installieren. Beide Images benutzen dann dieselben Keys und Passwort-Dateien.\\ Nach einem Update von Version 0.4x auf Version >0.50 müssen die VNC-Passwörter neu gesetzt werden (als pgmadmin im Konfigurations-Menü).
 +===== Programm als pgmadmin starten und Räume konfigurieren =====
 +
 +Nur der pgmadmin hat die Rechte um die Liste der Computerräume zu bearbeiten. An einem Client sich deshalb als pgmadmin anmelden, ​
 +Programm "​maus"​ starten, mit der RMT das Kontextmenu aufklappen und "​Konfiguration"​ auswählen.\\
 +Alternativ kann die Datei **''​maus.cfg''​** auch mit einem beliebigen Editor bearbeitet werden.
 +
 +Zu einer Raum-Konfiguration gehören:
 +  - Name des Raumes
 +  - IP des Lehrer-PC (IP-Adresse oder *)
 +  - IP-Liste aller Schüler-PC (ohne Lehrer-PC), ggf auch mit MAC-Adressen (werden für WakeOnLAN benötigt), ggf. auch mit PC-Namen für die Liste
 +  - PC-Typ: Linux-, Windows- oder Dual-Boot-Client. Je nach Typ wird der PC vom Master verschieden angesteuert.
 +
 +Mit der Funktion "​Räume importieren"​ können aus der Workstations-Datei "/​etc/​linuxmuster/​workstations"​ des Servers ein Raum samt seinen IPs, MACs und PC-Namen importiert werden.
 +
 +
 +===== Programm an einem Lehrer PC als Lehrer starten =====
 +Das Kontext-Menu zu einem einzelnen Schüler-PC ist per RMT erreichbar.
 +{{ :​anwenderwiki:​linuxclient:​maus-042-pc.jpg |}}
 +===== Konfigurationsdatei - Beispiel =====
 +Die Konfigurations-Datei kann als pgmadmin über das Programm selbst oder mit einem Editor bearbeitet werden. Sie liegt unter **''/​home/​samba/​progs/​maus/​maus.cfg''​**.
 +<code text maus.cfg>​
 +[Programm]
 +#​Name="​Monitore Aus"
 +BorderStyle=single
 +FixedPosition=1
 +xpos=-30
 +ypos=30
 +width=320
 +# optional: height=100
 +ButtonAnzahl=0
 +
 +PrivateKey=maus-key
 +CopyPrivKey=0
 +AdminUsers=root,​pgmadmin,​linuxadmin,​winadmin
 +debug=0
 +
 +Raumanzahl=2
 +SperrBild=1
 +WOLDelay=0
 +# VNCPort=0 disables VNC
 +VNCPort=4711
 +VNCPassPfad=x11vnc.pass
 +SendeNachrichtVisible=1
 +SendeBefehlVisible=0
 +PCListeVisible=0
 +
 +# SleepTimeSSL=100
 +# SleepTimeTCP=50
 +# SleepTimeNAC=100
 +
 +[Windows]
 +width=320
 +# optional: height=100
 +PuttyKey=maus-key.ppk
 +VNCPassPfad_text=x11vnc.text
 +FingerprintPfad=host-rsa-key.fingerprint
 +plinkPfad=plink.exe
 +WOLPfad=wol.exe
 +UltraVNCPfad=C:​\Program Files\uvnc bvba\UltraVNC\vncviewer.exe
 +
 +[MausDienst]
 +Port=9731
 +UseSSL=0
 +UseAuth=1
 +
 +[Button1]
 +Name="​Print Enviroment"​
 +Exec="​printenv"​
 +BefehlsAusgabeAnzeigen=1
 +
 +[Raum1]
 +Raumname=CR001
 +LehrerIP=*
 +PC-Anzahl=6
 +SchuelerIP1=10.16.100.101,​00:​04:​00:​B0:​EF:​AA,​terra-1,​dual
 +SchuelerIP2=10.16.100.102,​00:​04:​00:​B0:​EF:​33,​terra-2,​dual
 +SchuelerIP3=10.16.100.103,​00:​04:​00:​B0:​EF:​44,​terra-3,​dual
 +SchuelerIP4=10.16.100.104,​00:​04:​00:​B0:​EF:​77,​HP01,​lin
 +SchuelerIP5=10.16.100.105,​00:​04:​00:​B0:​EF:​88,​HP02,​win
 +SchuelerIP6=10.16.100.106,​00:​04:​00:​B0:​EF:​99,​HP03,​dual
 +
 +[Raum2]
 +Raumname=CR002
 +LehrerIP=10.16.200.100
 +PC-Anzahl=4
 +SchuelerIP1=10.16.200.101,​00:​04:​00:​B0:​EF:​BC,​dell01,​win
 +SchuelerIP2=10.16.200.102,​00:​04:​00:​B0:​7B:​6F,​dell02,​win
 +SchuelerIP3=10.16.200.103,​00:​04:​00:​B0:​11:​22,​dell03,​win
 +SchuelerIP4=10.16.200.104,​00:​04:​00:​28:​28:​E7,​dell04,​win
 +
 +
 +</​code>​
 +  * **CopyPrivKey=1** : Beim Start von MAus wird der ssh-Key in das home des Benutzers kopiert (nach <​HOME>/​.ssh/​maus-key) und mit den korrekten Rechten versehen. Danach gibt es z.B. auch keine Rechteprobleme für den Benutzer pgmadmin. Wenn der ssh-Key zu offene Rechte enthält (z.B. für die Gruppe lesbar ist), dann verweigert ssh u.U. dessen Verwendung.
 +  * **ButtonAnzahl=x** : Dadurch können weitere Buttons auf dem Widget zugefügt werden, genaueres siehe -> [[anwenderwiki:​linuxclient:​buttonbar|ButtonBar]]
 +  * **PrivateKey** : Der Pfad zum private ssh-Key kann sowohl relativ als auch absolut angegeben werden. Bei einer relativen Angabe (Ohne "/"​ am Anfang) wird der Key in Bezug zum Programmverzeichnis gesucht.
 +  * **FixedPosition**:​ Das Fenster positioniert sich automatisch immer an der angegebenen Position, z.B. auch nach Auflösungsänderung.
 +  * **SendeNachrichtVisible** Mit dem Kontext-Menue zum PC kann man an diesen Nachrichten absetzen
 +  * **SendeBefehlVisible** Mit dem Kontext-Menue zum PC kann man an diesen Shell-Befehle absetzen
 +  * **PCListeVisible**:​ Damit wird die __noch experimentelle__ Funktion der "PC Schüler Liste" freigeschaltet. Diese Funktion listet in einem Fenster alle Clients des Raumes auf, die dabei periodisch nach Erreichbarkeit und angemeldetem Benutzer abgefragt werden.
 +  * **LehrerIP**:​ Diese kann fest vorgegeben werden oder mit "​*"​ ist ein beliebiger PC des Raums möglich, an dem MAus gestartet werden kann.
 +  * **SchuelerIPx**:​ vier Angaben können festgelegt werden: <​IP>,<​MAC>,<​PC-Name>,<​Typ>​. Auf korrekte Werte muss man selbst achten!
 +  * **WOLDelay=x**:​ Zeitlicher Abstand in x Sekunden mit dem die Wake On Lan-Funktion ausgeführt wird
 +  * **SperrBild=1** Beim Sperren wird am Client-PC ein zweiter X-Server gestartet, der ein Bild mit oder ohne Uhr anzeigt
 +  * **UseAuth** Für die Steuerung der Windows-Clients wird eine Passwort-Authentifikation verwendet
 +  * **UseSSL** Für die Kommunikation zwischen Master und Windows-Client wird SSL verwendet, //Funktion noch experimentell!//​
 +  * **SleepTime...** Verzögerungszeiten (in Millisekunden),​ um die Netzwerkkommunikation sicherzustellen. Bei Problemen ggf. die Werte erhöhen.
 +  * weitere Optionen siehe -> [[anwenderwiki:​linuxclient:​buttonbar|ButtonBar]]
 +
 +
 +
 +
 +----
 +
 +
 +===== Optional: Rechte der ssh-Keys direkt am Server setzen =====
 +Die Zugriffsrechte der Keys und Passwörter können auch am Server gesetzt werden (normal nicht notwendig, wenn die Gruppenzugehörigkeit des pgmadmin zu den teachers gesetzt ist):
 +   # chown -R pgmadmin:​teachers /​home/​samba/​progs/​maus/​
 +   # chmod 640 /​home/​samba/​progs/​maus/​maus-key
 +   # chmod 640 /​home/​samba/​progs/​maus/​maus-key.pub
 +   # chmod 640 /​home/​samba/​progs/​maus/​mausdienst.pass
 +   # chmod 640 /​home/​samba/​progs/​maus/​x11vnc.pass
 +   # chmod 640 /​home/​samba/​progs/​maus/​x11vnc.text
 +
 +===== Sicherheitsüberlegungen =====
 +
 +Der Zugriff von einem Client auf einen anderen Client kann missbraucht werden. Alle Zugangsschlüssel und Kennwörter für die Clients sind für alle Lehrer lesbar. Ein Zugriff auf den Server ist damit aber nicht möglich.
 +
 +**Sicherheitsproblem "​VNC":​** Durch das Vorhandensein eines VNC-Servers im Image kann jeder PC von anderen beobachtet werden, falls das Zugangskennwort bekannt ist - und zwar auch unabhängig von MAus.
 +
 +**Sicherheitsproblem "​ssh":​** Mit Hilfe des prvate-ssh-Key von MAus kann man (d.h. ein Lehrer) auf jedem Client root-Rechte erlangen und damit auch andere PC beobachten bzw. die daran angemeldeten Benutzer.
 +
 +**Sicherheitsproblem "​Befehl ausführen":​** Mit Hilfe eines am Client ausgeführten Shell-Befehls kann dieser Client manipuliert werden. Das kann man per .cfg-Datei beim Mausdienst abstellen (s.u.).
 +===== Zugriff auf die Schüler-PC per VNC =====
 +**Voraussetzung:​**\\
 +  * Am Client ist ein VNC-Server installiert. Das Installationsscript von MAus führt diese Installation __nicht__ durch!
 +  * Der VNC-Server ist per Kennwort auf Port 4711 erreichbar
 +  * **für Linux-Master:​** Das VNC-Kennwort liegt chiffriert (wie umklar??) lokal an Client in der Datei "/​etc/​x11vnc.pass",​ diese wird bei der Installation von MAus zum Server kopiert und ist dort nur für die Gruppe "​teachers"​ lesbar
 +  * **für Windows-Master:​** Das VNC-Kennwort liegt minimal verschlüsselt in der Datei "​x11vnc.text"​ am Server und ist dort nur für die Gruppe "​teachers"​ lesbar. Es muss es nach Installation in der Konfiguration von MAus manuell als pgmadmin gesetzt werden (EDIT-Button). Der Ultra-VNCviewer benutzt diese Textdatei zur Authentifizierung.
 +  * Nach Installation muss der verwendete VNC-Port bei den Programm-Optionen von MAus gesetzt werden, was die VNC-Funktionalität dann auch freischaltet
 +
 +
 +
 +Zum Installation eines VNC-Servers kann man z.B. vorgehen wie in -> [[anwenderwiki:​linuxclient:​vnc]]. Bei Verwendung eines default-cloop ist jedoch der VNC-Server schon vorinstalliert,​ er läuft dort standardmäßig auf Port 4711. Die Passwortdatei ggf. nachträglich zum Server kopieren:
 +  cp /​etc/​x11vnc.pass /​home/​samba/​progs/​maus/​
 +  chown pgmadmin:​teachers /​home/​samba/​progs/​maus/​x11vnc.pass
 +  chmod 640 /​home/​samba/​progs/​maus/​x11vnc.pass
 +
 +===== MAus auf Windows-PC als Master =====
 +
 +An einem Linux-Clients muss MAus zuerst mit dem obigen tar-Paket installiert werden. Dabei werden auch für Windows notwendige Keys und Hilfs-Programme angelegt (ab Version 0.42) und die Windows-Programmdatei am Server abgelegt.
 +
 +**Installation am Windows-PC:​** Eine Verknüpfung auf ''/​home/​samba/​progs/​maus/​maus.exe''​ im Programm-Menue oder auf dem Desktop ablegen. Läuft unter Windows 7 - 64 Bit oder Windows 10 - 64 Bit. Am Besten die Verknüpfung auf dem Desktop nur für die Gruppe teachers anlegen.
 +
 +Zum Benutzen der VNC-Bildschirmübertragung am Windows-PC zusätzlich -> [[http://​www.heise.de/​download/​product/​ultravnc-38367|UtraVNC-Viewer]] installieren. (optional)\\
 +Zum Ansteuern der Linux-Clients wird das Putty-Kommandozeilentool "''​plink.exe''"​ benutzt, für WakeOnLan "''​wol.exe''",​ diese sind im tar-Paket enthalten und werden unter ''​K:​\maus\''​ abgelegt. Für den ssh-Zugriff benötigt ''​plink.exe''​ den ssh-private-Key im Putty-Format (ppk) und einen Fingerprint des host-Key des Linux-Clients,​ dies erledigt alles das install-Script im tar-Paket.
 +
 +Das Windows-Programm verwendet dieselbe Konfiguration und Räume wie unter Linux. Nur die Höhe und die Breite des Desktopfensters kann getrennt festgelegt werden.
 +
 +===== MAus auf Windows-PC als Client: "​Mausdienst"​ =====
 +<​note>​Ab MAus Version 0.50</​note>​
 +
 +siehe -> [[anwenderwiki:​classroom_management:​mausdienst]]
 +
 +
 +
 +===== Deinstallation von MAus bis Version 0.54 =====
 +
 +Um MAus vollständig vom Client zu entfernen sind folgende Dateien am Client zu löschen:
 +
 +  /​root/​bin/​sperren.sh
 +  /​root/​bin/​freigeben.sh
 +  /​root/​bin/​closed.xbm ​
 +  /​usr/​share/​applications/​maus.desktop
 +  /​usr/​share/​icons/​maus.ico
 +
 +Folgenden Dateien sind zu editieren:
 +  /​etc/​ssh/​sshd_config
 +-> Dort die Zeile mit "​AllowUsers ..." editieren, im Auslieferungszustand steht dort: "​AllowUsers root@10.16.1.1"​
 +  /​root/​.ssh/​authorized_keys
 +-> Dort die Zeile mit dem rsa-Key von MAus löschen.
 +  ​
 [[anwenderwiki:linuxclient:maus]] anwenderwiki/linuxclient/maus.txt · Zuletzt geändert: 2017/02/09 21:17 (Externe Bearbeitung)