Internet PC für Gäste
Inhaltsverzeichnis
Ziele
Ziel dieses Projekts ist, einen oder mehrere PCs für /dev/tal Gäste zur Verfügung zu stellen. Gründe dafür sind:
- Nicht jeder Besucher bringt immer einen Laptop mit.
Ich habe es mal selbst bei einem anderen Hackerspace erlebt: "Ja, der Vortrag wurde um eine Stunde verschoben, du musst ein bisschen warten. Was, du hast keinen Laptop mitgebracht?"
Das ist vor allem ein praktisches Ziel. - Die meisten Besucher sind noch nie mit Linux in Berührung gekommen. Der Gast PC wäre da eine ideale Demo Plattform.
Dies ist ein politisches Ziel, es ist eine Art Werbung für Linux. Man könnte das Konzept auf andere freie Betriebsysteme erweitern (wie z.B. FreeBSD).
Anforderungen
- Um die Privatsphäre zu schützen sollte der Gast PC alles vergessen, wenn der Besucher sich abmeldet.
Die Historie vom Firefox u.s.w. gehören unbedingt dazu. - Ein Minimum an System Sicherheit sollte gewährleistet sein.
Ein Gast Konto darf keine höhe Privilegien (kein root Zugriff) haben und kann den Computer nicht kaputt machen.
Notfalls kann man den PC per Knopfdruck neustarten.
Sicherheit ist aber nicht das höchste Ziel, unsere Besucher sind in der Regel gut gemeint und oft sogar betreut.
Trotzdem soll auf dem PC eine Überwachungssoftware wie Tripwire laufen, die nur auf Computer Sicherheit gezielt ist. - Der Gast PC sollte nicht unnötig eingeschränkt sein.
Wenn man nach "Kiosk Mode" oder "public PC" im Internet sucht, findet man sehr viel Information zum Einschränken ("Lock Down") des Computers. Der Benutzer soll nur bestimmte Software starten können, oder nur ins Internet, und möglicherweise sogar nur bestimmte Web Sites besuchen können. Unser Gast PC soll dem Benutzer dagegen so viel erlauben wie möglich. - Der Benutzer sollte weitere Software von der vertrauten Paketquellen des Betriebssystem selber installieren können.
Alternativ könnte der PC schon alle Pakete installiert haben. - Um Wartungsaufwand zu sparen sollte das Betriebsystem sich automatisch aktualisieren, am besten beim Herunterfahren.
Wenn Tripwire ständig darüber nervt, sollte man es vielleicht während der Aktualisierung abschalten. - Um Strom zu sparen sollte der Gast PC sich nachts automatisch ausschalten, wenn keiner ihn verwendet.
- Weitere Ideen für die Zukunft:
- Der Besucher könnte ein eigenes Konto erstellen, damit seine Daten morgen wieder da sind.
Nach eine Woche wird das Konto aber automatisch gelöscht.
Eine Art Roaming Profiles wäre auch wünschenswert: egal auf welchem PC man sich anmeldet, sind seine Daten da. - Kann man das System gleichzeitig auf Deutsch und auf Englisch zur Verfügung stehen?
- Der Besucher könnte ein eigenes Konto erstellen, damit seine Daten morgen wieder da sind.
Wahl des Betriebsystems
Das Projekt wird erst mit Linux anfangen. Debian ist wohl die Linux Distribution, womit man in einem Hackerspace am schnellsten Konsensus erreicht. Trotzdem sind die Pakete in der Regel veraltet, da wäre eine "Long Term Support" Version vom Ubuntu wohl besser, um aktuelle Versionen von Firefox, LibreOffice u.s.w. benutzen zu können.
Der Benutzer soll seine Desktop Umgebung frei wählen können (KDE, Gnome, XFCE, ...).
Hardware
Im Moment steht ein alter PC zur Verfügung, der schon mal zur Jubiläumsfeier benutzt wurde. Es gibt noch zumindest einen identischen PC mehr im Raum.
Leider verfügen diese Computer nur über 512 MB RAM, siehe unter für mehr Information darüber. Ob XFCE wirklich mit wenig RAM besser als KDE läuft ist nicht klar, es gibt Bereichte, die meinen, der Speicherverbrauch ist eigentlich nicht viel kleiner.
Die Hardware-Information ist hier.
Da es im /dev/tal wenig Raum gibt, ist mittlerweile aus dem Gast PC ein Laptop geworden. Die Hardware-Information ist hier.
Prozedur, einen Gast PC einzurichten
Diese Prozedur befindet sich immer noch in der Anfangsphase, es fehlt auch an Details. Siehe bitte oben die Aufgagen, die noch nicht gemeistert sind.
- Das BIOS mit einem Kennwort schützen.
- Den Linux Bootloader sperren.
- Den Linux Login Manager konfigurieren.
- Das System schützen: Disk Quotas, Tripwire...
- Viele Software Pakete installieren.
Status
Das Projekt ist leider noch nicht sehr weit gekommen, und der Computer, der als Gast PC fungieren sollte, hat keinen festen Platz im Verein gefunden.
Es gibt aber einen Laptop für Gäste, der die Lücke inzwischen schließen sollte. Das Sicherheitskonzept ist noch nicht gelöst, daher braucht man immer noch das Root-Kennwort, um Software zu installieren oder andere Verwaltungsaufgaben zu machen. Deswegen kann das Gast-Konto auch Kommandos mit "sudo" ausführen. Das Kennwort steht auf dem Laptop, siehe den Aufkleber darauf.
Der Laptop ist gut gekennzeichnet und sollte in der unteren Schublade im metallischen Schrank zur Verfügung stehen. Leider hat er nur 512 MB RAM und ist deswegen ziemlich lahm. Seine komplette Hardware-Information ist hier.
Mitmachen
Der "Pate" dieses Projekts ist zurzeit rdiez, aber bestimmt schafft er alles nicht alleine, und er kann gerne Hilfe gebrauchen!
Das Ziel ist, eine Prozedur zu entwickeln, wie man einen Internet PC für Gäste einrichtet, damit jeder die Schritte später selbst wiederholen kann (siehe die unvollendete Prozedur oben). Aufgaben noch zu meistern sind:
- Gibt es schon eine Web Seite, wo das alles schon beschrieben ist?
Man hätte gedacht, das alles wäre ziemlich standard unter Linux, aber ich habe noch keine gute, einfache Anleitung dafür gefunden.
- Wie man den Bootloader (wie Grub) sperren kann, damit man nicht sofort eine Root Konsole für Rettungszwecke aufrufen kann.
- Wie man den Login Manager (wie LightDM) modifiziert bzw. konfiguriert.
Man braucht einen neuen Anmeldebildschirm mit einer Willkommen Nachricht von /dev/tal.
Beim An- und Abmelden muss man das Benutzerkonto aufräumen.
- Wie man das System schützt.
- Disk Quotas einstellen.
- Hintergrundprozesse des Benutzers beim Abmelden töten.
- Tripwire konfigurieren.
- SELinux nachforschen.
- Das Gast Konto darf den Desktop nicht permanent sperren können, der nächste Benutzer muss sich immer neu anmelden können.
- Wie man die Benutzer Einstellungen (home Verzeichnis) verwalten kann.
- Zurücksetzung auf einer Basis bei An- oder Abmeldung.
- Wie man diese Basis kontrolliert aktualisiert.
- Wie man das System warten kann.
Welche Möglichkeit zur Fernwartung soll installiert werden? Remote Desktop?
/dev/tal Mitglieder könnten sich über LDAP anmelden und das System warten.
- Kann man alle Linux Pakete auf einmal installieren? Sind einige nicht inkompatibel miteinander?
Gibt es eine fertige Liste mit die meisten Paketen (ein langes "apt-get install" Kommando)?
Wie viel Platz braucht man dann?
- Eine Möglichkeit wäre, ein solches System auf einem USB Memory Stick einzurichten.
Da könnte man schnell den Stick wechseln oder eine neue Abbildung darauf schreiben, wenn das System kaputt wird.
Noch zu machen: wie man eine ISO Abbildung von einem bootable USB Stick generieren kann. Ob das 'dd' Werkzeug reicht.
Andere Möglichkeiten wäre eine Knoppix CD-ROM oder ein Terminal Server. Knoppix kann auch als Terminal Server fungieren, und die Clients können über PXE booten.
- Ein Skript schreiben (Perl oder Ähnliches), dass nach der Anmeldung einen schönen Begrüßungstext darstellt.
Per Desktop Symbol sollte der Benutzer diese Meldung jederzeit wieder aufrufen können.
- Texte werden gebraucht:
- Für das obengenannte Skript braucht man den Text mit einem Hinheis auf die erwarteten gutten Sitten, und eine Beschreibung, was der Gast PC anbietet.
Möglicherweise auch auf Englisch.
Einen Link "Mehr über /dev/tal lernen" einfügen. - Ein Merkblatt auf Papier braucht man auch.
Darauf muss zumindest stehen, wie man den PC startet oder gegebenenfalls entsperrt oder gezwungen neustartet, um sich überhaupt anmelden zu können.
Eine Anmerkung wie "hab keine Angst: wenn es kapputt geht, mach /dev/tal den PC einfach neu" gehört wohl auch drin.
Möglicherweise auch auf Englisch.
- Für das obengenannte Skript braucht man den Text mit einem Hinheis auf die erwarteten gutten Sitten, und eine Beschreibung, was der Gast PC anbietet.
Schon gefragt
- Eine erste Anfrage zur technischen Möglichkeiten wurde im LightDM Forum hier gestellt.
- Es wurde schon bei WupLUG um Hilfe gebeten.