Dateien teilen mit Ad-hoc Webservern

Um Dateien im Netzwerk freizugeben, gibt es diverse Möglichkeiten: NFS, Samba sowie weitere speziellere Lösungen. Manchmal möchte man aber eine Datei einfach von A nach B bringen und auf Umwege wie E-Mails an sich selbst verzichten.

In vielen Programmiersprachen gibt es hierfür Lösungen, meist sogar als Einzeiler. William Bowers hat hierfür in einem GitHub Gist eine recht umfangreiche Übersicht erstellt. Ich möchte hier kurz auf Python eingehen, da es sich für Ad-hoc Webserver bei mir bewährt hat.

Python bietet für solche Aufgaben einen eingebauten Webserver. Hierzu einfach in das freizugebende Verzeichnis wechseln und je nach Python Version folgendes Kommando eingeben, um das gewählte Verzeichnis sowie je nach Rechteverteilung alle Unterverzeichnisse (!) freizugeben:

Python 2:

Python 3:

Der einzige Unterschied zwischen den beiden Versionen besteht darin, dass die Module unterschiedlich heißen. Die 1234 ist stellvertretend für einen benutzerdefinierten Port, wird die Angabe weggelassen, wird auf den Standard-Port 8000 zurückgegriffen. In jedem Fall sollte der Port jedoch >=1024 sein, da unter Linux alle Ports darunter für den root reserviert sind.

Update (28.12. 19:42 Uhr): Hinweis zu den Unterverzeichnissen ergänzt. (danke noisefloor!)

Gefällt dir der Artikel? Dann empfiehl ihn weiter!

4 Gedanken zu „Dateien teilen mit Ad-hoc Webservern“

  1. Im Artikel fehlt ein entscheidender (Sicherheits-) Hinweis:
    Es wird nicht nur das Verzeichnis freigegeben, in dem der Webserver gestartet wird, sondern auch alle drin enthaltenen enthaltenen Unterverzeichnisse.

    1. Danke für den Hinweis, hab ich ergänzt. 🙂 Da nur die Dateien gelesen werden können, zu denen der Benutzer Zugriff hat, der den Server startet, ist das nicht katastrophal. Hilft aber wenig, wenn der Server versehentlich im Wurzelverzeichnis gestartet wurde. 😀

    1. Leider nicht als Einzeiler in der Art, aber daraus lässt sich ein kleines Skript mit den o.g. Komponenten entwickeln. Werde soweit es geht diesen (durchaus guten) Vorschlag in einem der nächsten Blogbeiträge aufgreifen! 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.