In der Welt von Ubuntu scheint es, dass Sie entweder immer einen FTP-Server betreiben oder nie . Vielleicht bin ich der erste Netzwerkanalyst, der ein Cisco-, Checkpoint- oder Nokia-Image mit Ubuntu flashen muss ... Ich brauche einen FTP-Server für vielleicht 5 Minuten, nicht mehr.
Ich suche einen einfachen, benutzerinitiierten FTP-Server. Ich verstehe, dass es wahrscheinlich mit sudo laufen müsste. Das ist in Ordnung - aber ich möchte es wie ein normales Programm starten / stoppen.
Auf der Windows-Plattform sind solche Tools ein Dutzend - ich habe 3CDaemon jahrelang verwendet und kürzlich CoreFTP gefunden. Beide sind hervorragend. Sie konfigurieren einen Benutzer, zeigen auf ein Verzeichnis und klicken dann auf die Schaltfläche "Start". Ein paar Minuten später sind Sie im Allgemeinen fertig und klicken auf die Schaltfläche "Stopp". Job erledigt.
Solche Tools scheinen auf Ubuntu nicht zu existieren. Ich habe ein Google Code-Projekt gefunden , das eine TFTP-Instanz recht gut erstellt (vorausgesetzt, es läuft noch - ich habe es seit ungefähr einem Jahr nicht mehr verwendet und Python ist weitergegangen), aber wie steht es mit FTP? Irgendwas da draußen?
Antworten:
Mit pyftpdlib können Sie einen FTP-Server so einfach wie einen Zwei-Drei-Server einrichten :
pip install --user pyftpdlib
python -m pyftpdlib
, Hinzufügen,-w
wenn Sie auch Schreibzugriff wünschen.Sie haben jetzt einen FTP-Server, auf dem Sie sich anmelden können, um anonym Ihr Home-Verzeichnis freizugeben. Dies ist eher als Test des Moduls gedacht, aber es macht das, was es verspricht.
Dieser Befehl:
wird ohne Root-Rechte auf Port 2121 bereitgestellt und anonymen Benutzern Schreibzugriff gewährt. Es wird auch das Verzeichnis
FTP
im aktuellen Arbeitsverzeichnis anstelle Ihres Heimverzeichnisses verwendet. Geben Sie einpython ftpserver.py --help
, um Informationen zu allen Optionen zu erhalten.anonymous@localhost:2121/
Bitte beachten Sie, dass diese Software unter den Bedingungen der MIT-Lizenz veröffentlicht wird. Dies bedeutet, dass Sie grundsätzlich alles tun können, was Sie möchten. Lesen Sie den Lizenztext, es sind nur ein paar Zeilen, und kennen Sie Ihre Rechte.
Dieses Skript unterstützt Benutzernamen und Passwort nicht als Teil seiner eigenständigen Funktionalität (aus Sicherheitsgründen, wie ich es mir vorstelle).
Also habe ich diese Funktion hinzugefügt:
Sie haben jetzt zusätzlich zu allen Optionen, die ich erwähnt habe, die Befehlszeilenparameter
--username=USERNAME
und--password=PASSWORD
:Wieder verwenden
--help
, um sie alle zu sehen.Dies sollte so einfach wie möglich sein.
Ich habe auch ein kleines GUI dafür geschrieben:
Laden Sie es hier herunter (aktualisiert bei Rev. 6)
Es tut mir leid, dass es 3999 Zeilen lang ist, aber es wird alles tun, was das Original tut. Und ich wollte alles in einer Datei behalten. Wenn es ohne Parameter gestartet wird (dh es ausführbar machen und darauf doppelklicken oder einen Starter dafür erstellen ), wird eine kleine Benutzeroberfläche zum Konfigurieren des Servers gestartet . Sie können es weiterhin als Python-Modul importieren oder die obige Befehlszeile fu verwenden.
Bekannte Probleme:
Ich habe mich mit nichts anderem als Port 2121 beschäftigt. Dies sollte einfach sein. Um den Port konfigurierbar zu machen, ist eine komplexe Fehlerbehandlung erforderlich, mit der sich der Benutzer nicht befassen soll. 2121 sollte immer gut funktionieren.
Sie werden nicht wie in der Befehlszeile vor der Verwendung einer unsicheren Konfiguration gewarnt. Dh kein Passwort setzen oder so.
BEARBEITEN: seit die API von
pyftpdlib
undftpserver.py
geändert wurde (und die Ubuntu-Pastebin-Links weg sind); Die meisten der oben genannten Beiträge funktionieren nicht mehr.pyftpdlib
Verwenden Sie für die (2014) -Version von dieses Skript (ftpserver-cli.py
), um dasselbe wie oben zu erreichen:anrufen mit:
quelle
Sie können pure-ftpd verwenden
Sie können scp verwenden, wenn Sie einen SSH-Server haben.
quelle
postinst
Skript im Paket gestartet werden .)Für diejenigen, die Dateien auf und von Routern kopieren, empfiehlt sich das Tool tftpgui
Es hat bei mir funktioniert und ist sehr einfach zu konfigurieren. Es ist auch ein Python-Skript, das jedoch tftp anstelle von ftp ausführt. Alles was Sie tun müssen, ist python-tk zu installieren und das Skript herunterzuladen
Das einzige, was Sie beachten sollten, ist, dass Ubunutu standardmäßig Phython2 verwendet. Der beste Weg, um das Skript zu starten, ist:
Sie können es dann in der GUI konfigurieren. Wenn Sie fertig sind, drücken Sie exit und das ist es.
Bo
quelle