[[PageOutline]] = Aufsetzen eines Linuxmuster-Clients from scratch Hier werden Hinweise beschrieben, wie man einen völlig neuen Linuxmuster-Client im pädagogischen Netzwerk des Kepler-Gymnasiums aufsetzen kann. In der Regel wird man das nicht durchführen, sondern auf ein bestehendes Image aufbauen. Es kann jedoch Situationen geben, in denen ein frisches Image gewünscht wird. == Bei Bedarf: Client aufnehmen Im Folgenden gehen wir davon aus, dass wir an einer Client-Maschine arbeiten, die bereits ins Linuxmuster-Setup aufgenommen wurde. Sie erhält also eine fest vergebene IP-Adresse (vorzugesweise im Schülernetz) und bootet Linbo vom Netz. == (Ed)ubuntu installieren - Ein aktuelles (Ed)ubuntu-Installations-ISO herunterladen und auf einen USB-Stick schreiben. - Hinweis: Im Moment gibt es keine aktuellen Edubuntu-Installationsimages mehr. Also Ubuntu benutzen. - Client vom USB booten. - Optional: Um während der Installation gleich die aktuellen Updates herunterladen zu können, muss apt den Software-proxy kennen: {{{ ~ sudo -sH # echo > /etc/apt/apt.conf.d/80kepler-proxysw 'Acquire::http::proxy "http://proxysw.kg-fds.de:8080";' }}} - Sprache "Deutsch" auswählen - "Aktualisierungen herunterladen" auswählen, wenn der Proxy gesetzt wurde (sonst machen wir das später!) - "Lizensierte Inhalte installieren" auswählen - Bei der Partitionswahl "etwas anderes" auswählen, dann konsistent mit unseren Linuxmuster-Partitionen wählen: - `/dev/sda1` als `/` (formatieren) - `/dev/sda2` als `/usr/share/virtualbox-vdi` - `/dev/sda3` als Swap - Nutzer "linadmin" mit dem zugehörigen Passwort Die Installation dauert nur wenige Minuten :-). - USB-Stick entfernen und den neuen Client booten. == Grundkonfiguration Als lindamin einloggen, dann root werden: {{{ ~ sudo -sH }}} === Systemweiter Proxy {{{ # echo >> /etc/environment http_proxy=http://proxy.kg-fds.de:8080/ # echo >> /etc/environment https_proxy=https://proxy.kg-fds.de:8080/ # echo >> /etc/environment ftp_proxy=ftp://proxy.kg-fds.de:8080/ }}} Im Schülernetz wird dieser Name aufgelöst zu 10.32.1.251 (proxys) im Lehrernetz zu 129.143.4.2 (!BelWü-Proxy), jeweils Port 8080 oder 3128. === APT-Proxy Um unüberwachte Updates zu ermöglichen, muss außerdem APT einen durchlässigen Proxy konnen. Im Lehrernetz ist das ebenso der BelWü-Proxy, im Schülernetz haben wir hierfür einen speziellen APT-Proxy. Beide werden dynamisch über den Namen `proxysw` aufgelöst, also: {{{ # echo > /etc/apt/apt.conf.d/80kepler-proxysw 'Acquire::http::proxy "http://proxysw.kg-fds.de:8080";' }}} === Pakete auf den neusten Stand bringen: {{{ # apt update # apt full-upgrade }}} === SSH-Zugang einrichten {{{ # apt install ssh }}} Ab jetzt kann die weitere Adminstration über ssh erfolgen. Bevor wir irgend etwas weiteres beginnen, installieren wir aber einen Editor :-) : {{{ # apt-get install emacs }}} === Root-Login ermöglichen {{{ # passwd }}} Die SSH-Schlüssel der Administratoren zulassen: {{{ # mkdir ~root/.ssh # chmod go-rx ~root/.ssh # cat > ~root/.ssh/authorized_keys < }}} == linuxmuster.net-Paket Die einfachste Möglichkeit, die LDAP-Anbindung an den Linuxmuster.net-Server (paedml) einzurichten, wäre sicherlich, das entsprechende linuxmuster.net-Paket zu installieren (`linuxmuster-client-auth`). Die Pakete gibt es aber nur für die LTS-Versionen von Ubuntu. Befinden wir uns auf einer nicht-LTS-Version, müssen wir die Anbindung von Hand vornehmen. == LightDM konfigurieren LightDM-Optionen setzen. Z.B. muss die Eingabe eines Benutzernamens erlaubt werden. Die Gast-Sitzung sollte deaktiviert sein. Hier kann auch die voreingestellte Sitzung gewählt werden: In `/etc/lightdm/lightdm.conf`: {{{ [SeatDefaults] greeter-hide-users=false greeter-show-manual-login=true greeter-allow-guest=false }}} == Hintergrundbild Das Default-Hintergrundbild, das mit Edubuntu kommt ändern: {{{ # cd /usr/share/backgrounds # rm edubuntu_default.{png,jpg} # ln -s edubuntu_default.png # ln -s edubuntu_default.jpg }}} Achtung, die Hintergründe werden seit einiger Zeit in den Homes der Nutzer gecached. Der Cache muss gelöscht werden, sonst wird das Bild aus dem Cache genommen. Dazu wird am besten **auf dem paedml** ausgeführt (Achtung, Vorsicht walten lassen): {{{ paedml# for h in $(teacherhomes) $(studenthomes) ; do rm -r $h/.cache/wallpaper/ ; done }}} Damit sollten alle Nutzer, die kein spezielles Bild ausgewählt hatten, das Salamanderbild erhalten. == Vorgaben für Gnome-Settings (dconf) einrichten Hinweis:: Derzeit wir der logout-Workaround als Logout-Knopf verwendet. Wenn irgendwann der eingebaute Logout-Knopf wieder funktioniert, kann wieder dieser verwendet werden (siehe auskommentierte Teile). - User-Datenbank einrichten und erzeugen: {{{ # cat > /etc/dconf/profile/user < /etc/dconf/db/site.d/00_site_settings < /etc/dconf/db/site.d/locks/00_site_locks <` - `@kg-fds.de` - `root` Hinweis:: Bei virtualisierten Servern sollte ein MTA auch auf dem Virtualisierungshost installiert sein, damit auch der root@paedml erreicht. (Z.B. für SMART-Statusmeldungen, siehe nächster Punkt) == SMART Hinweis:: Bei virtualisierten Servern ist es wohl sinnvoller, SMART auf dem Virtualisierungshost zu konfigurieren, nicht in der VM. Auf der neuen Maschine //bzw. auf dem Virtualisierungshost//:: - Vorgehen wie unter AdminSmart beschrieben == Drucker einrichten Die Drucker werden über den CUPS des paedml zur Verfügung gestellt. Auf dem paedml ist das "printer-sharing" aktiviert, so dass die LtspServer die verfügbaren Drucker selbst entdecken. Dabei sollen sie nur die Drucker anzeigen, die vom paedml veröffentlicht werden. Sonst erscheinen auch Drucker, die an Rechnern irgendwo im Netzwerk eingerichtet sind -- z.B. an der TGS oder am Laptop von Kollegen ("Drucker-Waschküche"). In `/etc/cups/cups-browsed.conf` einfügen: Im Schülernetz:: {{{ BrowseAllow 10.32.1.1 }}} Im Lehrernetz:: {{{ BrowseAllow 10.16.112.4 }}} Hinweis:: Wegen eines (vermutlichen) Bugs im CUPS-Browse-Daemon werden zwar die Drucker, aber nicht die Druckerklassen automatisch erkannt. Solange das nicht behoben ist, muss unsere Druckerklasse (derzeit haben wir ja nur eine) manuell auf den ltspServern eingerichtet werden: `/etc/cups/classes.conf` erzeugen mit Inhalt: {{{ UUID urn:uuid:9c344d97-22d8-3c49-6349-4f3ec0ce77fe Info Lexmark links oder rechts im LZ Location Lehrerzimmer State Idle StateTime 1348058275 Accepting Yes Shared Yes JobSheets none none Printer LaserLZ Printer LaserLZr QuotaPeriod 0 PageLimit 0 KLimit 0 AllowUser @lpadmin AllowUser @teachers AllowUser pgmadmin OpPolicy default ErrorPolicy retry-current-job }}} == pam_group aktivieren Damit die Dokumentenkameras funktionieren, müssen alle User Mitglieder in der Gruppe video (Gruppe auf dem LTSP-Server, nicht: LDAP-Gruppe!) sein. Für die Benutzung der Bildschirmüberwachung müssen die Lehrer in der Gruppe epoptes sein. Das geht mit dem pam_group-Mechanismus, der den User beim Login in die angegebenen Gruppen zuweist: * Eintrag in /etc/security/group.conf: {{{ *;*;*;Al0000-2400;video *;*;%teachers;Al0000-2400;epoptes }}} * Neue Datei /usr/share/pam-configs/pamgroups: {{{ Name: activate /etc/security/group.conf Default: yes Priority: 900 Auth-Type: Primary Auth: required pam_group.so use_first_pass }}} * dann: {{{ # pam-auth-update # service nscd restart }}} Damit werden beim Login über das pam_group-Modul die fehlenden Gruppenzugehörigkeiten ergänzt - jetzt können alle User (Schüler und Lehrer) die Dokumentenkamera benutzen! == Virtualbox konfigurieren Wir stellen derzeit zwei Virtualbox-Umgebungen zur Verfügung, eine für die TI-Emulation, eine zweite für InfoSys (nur im Lehrernetz). Die Maschinen sind für alle Lehrer eingerichtet, die virtuellen Festplatten (vdi-Files) liegen aus Effizienzgründen aber lokal auf den LtspServern. Die beiden folgenden Verzeichnisse müssen von einem (geeigneten, d.h. mit gleicher Prozessorarchitektur) LtspServer kopiert werden: {{{ # rsync -a :/usr/share/virtualbox-vdi /usr/share/ # rsync -a :/usr/share/virtualbox-saved /usr/share/ }}} Erklärung:: Damit die Kollegen InfoSys und TINSpire schnell benutzen können, liegen unter /sr/share/virtualbox-saved Speicherabbilder, so dass die VM innerhalb weniger Sekunden startet. Diese Abbilder müssen von einem Server mit der selben Prozessorarchitektur stammen. Eventuell müssen sie neu erzeugt werden, siehe AdminVirtualBox#SpeicherabbildderVirtuellenMaschineerzeugen. Die Starter von `/usr/share/virtualbox-saved/` müssen nach `/usr/share/applications/` kopiert werden: {{{ # cp /usr/share/virtualbox-saved/{TINSpire,InfoSys}.desktop /usr/share/applications/ }}} == Epoptes konfigurieren === Nur für den dedizierten Epoptes-Server Hinweis:: Diese Schritte sind nur nötig, wenn der neue Server der dedizierte Epoptes-Server sein soll (derzeit ltsp6). Die Schritte durchführen, die unter AdminEpoptes#EinrichtungdesdediziertenEpoptes-Serversderzeitltsp6 beschrieben sind. === Generell Mit epoptes können die Schülerbildschirme kontrolliert werden. Die Clients melden sich beim Login eines Schülers am epoptes-Server (ltsp6) an. Damit nicht Kollegen ebenfalls überwacht werden können, muss der epoptes-Starter angepasst werden. In `/etc/xdg/autostart/epoptes-client.desktop`: {{{ [Desktop Entry] ... #Exec=/usr/sbin/epoptes-client Exec=/usr/local/sbin/kepler--epoptes-client-starter ... }}} Für die Kollegen gibt es die Möglichkeit, die Fernwartung per epoptes trotzdem einzuschalten. Neue Datei `/usr/share/applications/epoptes-client.desktop`: (Aufruf: Fernwartung): {{{ [Desktop Entry] Name=Überwachung meines Bildschirms erlauben Comment=Ermöglicht für die Dauer dieser Sitzung, dass Administratoren (und andere Lehrer) Ihren Bildschirminhalt sehen und ihren Rechner steuern können. Exec=bash -c "zenity --question --title 'Fernüberwachung erlauben' --text 'Erlauben Sie, dass andere Lehrer und die Administratoren Ihren Bildschirminhalt sehen und Ihren Rechner steuern können?\n(Diese Entscheidung gilt nur für die laufende Sitzung und wird mit Ihrem Logout wieder aufgehoben.)' && /usr/sbin/epoptes-client" Icon=epoptes Terminal=false Type=Application Categories=Network;Settings;Utility;RemoteAccess;DesktopSettings;Security;Accessibility; }}} Die Kollegen können auch Schülerdesktops überwachen. Neue Datei `/usr/share/applications/epoptes-app-starter.desktop` (Aufruf: //Bildschirme der Schüler anzeigen`): {{{ [Desktop Entry] Name=Bildschirme der Schüler anzeigen Comment=Die Lab-Management-Software Epoptes erlaubt es, den eingeloggten Schülern auf den Bildschirm zu sehen und ihre Rechner zu steuern. Exec=/usr/local/sbin/kepler--epoptes-app-starter Icon=epoptes Terminal=false Type=Application Categories=Education;Network;Utility;Monitor;RemoteAccess; }}} Damit der passwortlose Zugang zum ltsp6 als epoptes funktioniert muss die /etc/ssh/ssh_config angepasst werden (anfügen am Ende): {{{ Host epoptes_server Hostname ltsp6 User epoptes IdentityFile /etc/ssl/certs/epoptes_key ForwardX11 yes StrictHostKeyChecking no }}} Außerdem sollte der Host-Key von ltsp6 bekannt sein, damit er nicht in die known_hosts jedes Nutzers eingetragen wird (was später Probleme verursachen kann, wenn sich der Schlüssel mal ändern sollte): {{{ # echo -n "ltsp6,10.32.2.6 " >> /etc/ssh/ssh_known_hosts # ssh >> /etc/ssh/ssh_known_hosts ltsp6 cat /etc/ssh/ssh_host_ecdsa_key.pub }}} === Epoptes auf ltspl (Lehrernetz) einrichten - Damit die Überwachung der Schülerrechner aus dem Lehrernetz klappt, muss [#Netzwerkeinrichten wie oben bei der Netzwerkeinrichtung beschrieben], eine Route ins Schülernetz gesetzt sein. === Kepler-Logos Für unsere Briefpapiervorlage und andere Zwecke sollen die Kepler-Logos unter `/usr/local/include` liegen. Das Verzeichnis kann vom paedml kopiert werden: {{{ # rsync -av paedml:/usr/local/include /usr/local/ }}} Test:: Danach sollte die LaTeX-Briefvorlage, die man per Rechtsklick auf dem Desktop erreicht, kompilieren. ---- [[CC_BY_NC_SA(Dr. Rüdiger Kupper, Kepler-Gymnasium Freudenstadt)]]