Login
Newsletter
Werbung

Thema: Das Beste aus zehn Jahren Pro-Linux als Fortunes

5 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Jörg Zweier am Mo, 3. August 2009 um 10:51 #
Um täglich in den Genuss grandioser Fortunes zu kommen, lasse ich mir direkt nach dem Login die /etc/motd (unter INsidern auch MOTD, kurz: "Message of the Day" genannt) anzeigen. Diese wird u.A. von dem Programm "login" eingelesen. Der Trick ist, dass wir Pipes benutzen, um nach jedem Login eines anderes Fortune anzuzeigen. Andere Lösungen wie Cronjobs und das Missbrauchen der Shell-Startscripts skalieren nicht so gut und machen keinen guten Eindruck, wenn man mit seiner Lösung prahlen möchten. Also musste etwas komplizierteres her, was zudem auch einen gewissen Leet-Faktor erfüllt. Die Idee war geboren. Mein interner Codename für dieses Projekt ist: "Uber-LééT Hax0r fortune=>F!F0 M0tD" (tm)

Aus Sicherheitsgründen verwende ich ausschließlich Telnet. Der spektakuläre Debian-Fall vor einiger Zeit hat wieder einmal bewiesen, dass OpenSSH in kritischen Umgebungen nicht mit den Microsoft-zertifizierten Programmen mithalten kann. Daher ist meine Wahl auf Telnet gefallen. Aber das nur kurz am Rande.

Da fast alle Telnet-Implementierungen nicht wie gewünscht funktionierten, habe ich den Busybox-Telnet-Daemon ausprobiert. ...und damit sofort einen Volltreffer gelandet! Es lief sofort problemlos, ohne Murren. In Verbindung mit dem Busybox-"login"-Programm hat man sich selbst eine hochverfügbare Appliance gebaut. Von den Medien immer groß gepusht und als etwas höchst Anspruchsvolles dargestellt, lernt ihr hier, wie ihr so etwas euch selbst bastelt!

Der Telnet-Daemon liegt bei mir in /usr/src/telnetd und "login" in /usr/src/login, um Konflikte mit dem bereits installierten Programmen zu vermeiden. Zum Starten von Telnet verwende ich:
/usr/src/telnetd -F -l /usr/src/login &
echo $! > /var/run/telnetd.pid
Hier das vollständige rc-Script: http://pastebin.ca/1516429

Jetzt gehts ans Eingemachte:
Aus Bequemlichkeit benutze ich das Perl-Script "signify". Das nimmt einem eigentlich schon die ganze Arbeit ab und läuft im Hintergrund. Das benutzt ihr wie folgt:
rm /etc/motd && /usr/src/signify/signify.pl --fifo=/etc/motd --input=/etc/motd.signify

Damit signify weiß, dass es beim Lesen aus dem Pipe immer "fortune" aufrufen soll, braucht ihr noch die angegebene /etc/motd.signify mit folgendem Inhalt:
% { exec
fortune
% }

Da ich mich schon einmal mit signify selber ausgesperrt habe, müsst ihr unbedingt nach Ausführen von signify die /etc/motd löschen! Andererseits versucht "login" von einem nicht-besetzten FIFO zu lesen (/etc/motd), sodass zwar der Login funktioniert, aber ihr keine Shell bekommt, weil zuvor ja noch die MOTD angezeigt werden muss, welcher blockiert. Natürlich ist signify nur bedingt daran Schuld, weil man schließlich selber dafür verantwortlich ist, dass ein FIFO auch wieder fachgerecht entsorgt wird, sofern er Nicht-Benutzung wird.

Also, um das Problem zu lösen, benutze ich eine Reihe ausgeklügelter und hochkomplizierter Tricks, die ich euch nicht vorenthalten möchte. Zum Starten meines "motdgen"-Daemons benutze ich:
rm /etc/motd && /usr/src/signify/signify.pl --fifo=/etc/motd --input=/etc/motd.signify && rm /etc/motd && fortune > /etc/motd &
Stop erfolgt mit: killall signify.pl ; rm /etc/motd ; fortune > /etc/motd

Momentan benutze ich folgende Fortunes: http://dl.sourceforge.net/sourceforge/fortune4all/fortune_big.zip und http://old.kernelnewbies.org/kernelnewbies-fortunes.tar.gz
Welche guten Fortunes kennt ihr sonst noch so?

Euer Jörg

[
| Versenden | Drucken ]
  • 0
    Von Christopher Roy Bratusek am Mo, 3. August 2009 um 14:07 #
    Abgesehen von diesen, die LinuxTag Fortunes. Klaus Knopper for President!
    [
    | Versenden | Drucken ]
    • 0
      Von Jörg Zweier am Mo, 3. August 2009 um 17:27 #
      Sicher? Hatte er nicht mal Knoppix für eine Zeit komplett vernachlässigt, indem er z.B. E-Mails unbeantwortet ließ. Also, vertrauenserweckend finde ich das jetzt nicht wirklich.
      [
      | Versenden | Drucken ]
      • 0
        Von Christopher Roy Bratusek am Mo, 3. August 2009 um 17:54 #
        Ich bezog mich auf seine Sprüche :)

        z.B.:

        Wir dürfen uns halt nicht von der
        eigenen hohen Qualität verwirren lassen.

        Stimmt schon, die kosten viel Zeit und Geld, wollen dauernd irgendwo
        essen gehen und halten dich von der Arbeit ab. Man sollte sie überhaupt
        verbieten. Dummerweise beherrschen sie bereits die Welt.

        Ich habe die Security instruiert, Richard Stallman vor allen
        Tortenwerfern zu schützen und umgekehrt das Publikum vor Richard
        zu schützen.

        [
        | Versenden | Drucken ]
        • 0
          Von Jörg Zweier am Mo, 3. August 2009 um 20:49 #
          Recht hat er. Insbesondere das Erste gefällt mir sehr gut.

          Zum Letzten: Stimmt, Richard Stallman ist irgendwie Plage und Segen zugleich. Zusammenarbeiten möchte ich jedenfalls nicht mit ihm, aber trotzdem schätze ich sehr sein Engagement in der Szene. Manchmal wundert es mich nicht, dass fast alle seiner Projekte geforkt wurden, wenn man sieht, wie rüde auf der Mailing-List untereinander kommuniziert wird.

          Ich weiß noch, wo einige Emacs-User ihn für das Programm beglückwünschten. Er antwortet auf jede (!!!) dieser Mails, in einem sehr unfreundlichen Ton, dass sie doch bitte die ausstehenden Aufgaben auf der TODO-Liste abarbeiten sollen. Und das waren größtenteils normale Anwender und keine Entwickler. Daher war es auch nicht verwunderlich, dass sogut wie jeder abgelehnt hat oder "Mangelnde Fachkenntnis" als Ausrede nutzten.

          Naja, danke für die Zitate. :)

          [
          | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung