Der Beitrag Ubuntu 16.04 mit Openbox als Kiosksystem ist der erste einer Reihe, die sich mit einem abgesicherten Ubuntu-System beschäftigt, das man für computergestützte Prüfungen einsetzen kann. Auch für Ubuntu 18.04 ist diese Anleitung noch gültig.
Weiterführende Beiträge dazu sind:
-> Openbox als Prüfungsumgebung
-> Tasten sperren oder Belegung verändern
-> Batch-Konvertierung HTML nach PDF
-> Dateien mit Batch-Script umbenennen
-> Tipps zur Openbox als Prüfungsrechner (I)
-> Tipps zur Openbox als Prüfungsrechner (II) – Keyboard und Stick-ID
Die Vorgaben für das System sind:
- Das System wird über externe SSDs oder USB-Sticks gebootet.
- Einem Standardbenutzer ist nur das Starten vorgegebener Programme erlaubt oder die Programme starten automatisch.
- Es ist nur über einen SSH- oder RDP-Zugang administrierbar.
- Der Standardbenutzer kann die GUI nicht verlassen.
Das identische Vorgehen gilt auch für Ubuntu 18.04. Wird anstelle der Serverversion die Desktopversion verwendet, muss die grafische Oberfläche Unity allerdings entfernt werden.
Installation der Openbox
Zuerst wird die Serverversion 16.04 von Ubuntu installiert (Download -> hier). Bei der installation wählt man No automatic updates und installiert mit der Paketauswahl Manual package selection. -> Hier gibt es im Netz eine gute und bebilderte Anleitung sowohl zur Desktop als auch zur Serverinstallation.
Nach der Installation und einem Reboot wird das System zuerst aktualisiert.
Unter Ubuntu Server 18.04 muss zunächst das Repository Universe hinzugefügt werden, da sich die openbox und der Midnight Commander sonst nicht installieren lassen.
Als Oberfläche wird Openbox installiert. Eigentlich wollte ich mir den ganzen Ballast von Openbox sparen und mit dem Parameter –no-install-recommends installieren, das klappte bei mir aber nicht. Des weiteren brauchen wir Xorg als Display-Server und Slim als Starter für Openbox.
Die Administrationszugänge werden installiert, wobei prinzipiell SSH ausreichend ist. Hier installiere ich den RDP-Zugang mit.
Um die Administration zu vereinfachen, wird der Midnight Commander installiert.
Falls eine Java-Anwendung laufen soll, muss noch das Java-JRE installiert werden.
Zum Testen wird ein User angelegt und der Benutzergruppe video zusätzlich zugeordnet. Dazu kann man sich mit -> PuTTY per SSH verbinden. Mit dem Neustart sollte jetzt der Loginscreen von Openbox verfügbar sein.
:~$ sudo usermod -aG video testuser
:~$ sudo shutdown -r -t 0
Mit dem Neustart sollte jetzt der Login-Screen von Openbox verfügbar sein.
TIPP: Sollte irgendetwas während der Konfiguration schiefgehen, kann man mit STRG + ALT + F1 in die Konsole ohne Fenstermanager wechseln.
Konfiguration der Openbox
Am Beispiel des Dokumentenbetrachters Evince soll gezeigt werden, wie man dem Testuser eine Anwendung zur Verfügung stellt. Dazu wird zunächst Evince installiert.
Die allgemein gültige Konfiguration von Openbox befindet sich in /etc/xdg/openbox/ und wird in das home-Verzeichnis des Testusers kopiert. Sie wird dann anstelle der Konfiguration in /etc/xdg/openbox/ geladen, so dass man ggfls. jedem User eine angepasste Oberfläche zuordnen kann und vor allem die Originalkonfiguration zur Sicherheit noch behält.
:~$ sudo mkdir /home/testuser/.config/openbox
:~$ sudo cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} /home/testuser/.config/openbox
:~$ sudo chown -R testuser:testuser /home/testuser/.config/openbox
Das Menü für den Testuser wird in der Datei /home/testuser/.config/openbox/menu.xml angepasst, indem nach
<menu id=“root-menu“ label=“Openbox“> folgendes eingefügt wird:
<action name="Execute"><execute>evince</execute></action>
</item>
Soll Evince mit einem PDF-Dokument geöffnet werden, gibt man einfach den Pfad dort mit an.
<action name="Execute"><execute>evince /Pfad/zum/Dokument.pdf</execute></action>
</item>
Nach dem gleichen Schema können auch Scripte ausgeführt werden. Liegen die Scripte nicht im home-Verzeichnis des Testusers, muss der Pfad angegeben werden und natürlich müssen auch die Zugriffsrechte stimmen und die Dateien ausführbar sein.
<action name="Execute"><execute>./start.sh</execute></action>
</item>
Soll auf dem Kiosk-System ein Browser laufen, dann gibt es -> hier einen sehr guten Artikel, wie man das mit Chromium macht.
Autologin mit Slim
Die Konfigurationsdatei dafür ist /etc/slim.conf. Dort werden die Einträge geändert auf
# for avoid pre-loading the username.
default_user testuser
....
focus_password no
....
auto_login yes
Autostart von Programmen
Um für den automatisch eingeloggten User Programme zu starten, trägt man sie in die OpenBox-Konfiguration im home-Verzeichnis des Users ein. Für dieses Beispiel ist das /home/testuser/.config/openbox/autostart. Um Firefox zu starten wird am Ende der Datei firefox angefügt. Will man mehrere Programme starten, muss man mit & dafür sorgen, dass die Startshell nicht blockiert wird. Um den Editor NodePadQQ und ein PDF mit Evince automatisch zu öffnen sieht das so aus:
#
#xfce-mcs-manager &
notepadqq &
evince /home/testuser/Irgendein.pdf
Kurz mal mounten
Um Dateien und Programme auf den Kiosk-PC zu übertragen, kann man z.B. -> WinSCP verwenden oder man mountet mal eben kurz ein Netzlaufwerk. Handelt es sich um eine Windows-Freigabe, benötigt man cifs zum Mounten. Um einen USB-Stick mit fat32 zu mounten, legt man in /media ein Verzeichnis für den Mountpunkt an.
:~$ sudo mkdir /media/external
Dann sucht man die Bezeichnung des eingesteckten USB-Sticks
und kann ihn dann mounten mit
Optimierungen
Silent Boot
Um ohne Systemmeldungen zu booten, passt man die Datei sudoedit /etc/default/grub an.
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Anschließend muss grub noch mit der geänderten Konfiguration aktualisiert werden.
Quelle:
https://thepcspy.com/read/building-a-kiosk-computer-ubuntu-1404-chrome/
Absicherung der Openbox
Um den Kiosk gegen Ausbruchsversuche ins System abzusichern, muss insbesondere der Tastatur noch einige Aufmerksamkeit gewidmet werden. Dazu folgender -> Artikel.
Weiterführende Beiträge dazu sind:
-> Openbox als Prüfungsumgebung
-> Batch-Konvertierung HTML nach PDF
-> Dateien mit Batch-Script umbenennen
-> Tipps zur Openbox als Prüfungsrechner (I)
-> Tipps zur Openbox als Prüfungsrechner (II) – Keyboard und Stick-ID
5 Comments