pureftpd: Kann keine Dateien herunterladen

  • Habe mir einen FTP-Server mit Hilfe von pureftpd aufgesetzt. Die Benutzer sind hier virtuelle Benutzer die aus einer MySQL Datenbank kommen. Wenn ich nun eine Datei herunterladen möchte bekomme ich folgende Meldung:


    Code
    Status:    Starte Download von /public/index.html
    Befehl:    PORT 192,168,178,1,17,84
    Antwort:    200 PORT command successful
    Befehl:    RETR index.html
    Antwort:    150 Connecting to port 4436
    Antwort:    451 Unable to map the file into memory: Cannot allocate memory
    Fehler:    Dateitransfer fehlgeschlagen

    Ich würde gerne pureftpd verwenden wollen, da ich hier die Möglichkeit habe beim Upload je nach Benutzer verschiedene Besitzer/Gruppen ganz einfach in der MySQL Datenbank festzulegen. Ich hoffe ihr könnt mir helfen, Google fand leider nix zu diesem Thema :(


    Edit: Wenn die Datei 0 Byte groß ist klappt der Transfer..

  • Ist noch genügend Ram frei bzw. wie groß ist die Datei? Ansonsten aktiviere einmal den Debug Modus und starte den FTP-Daemon ohne Forking direkt auf der Konsole, dann solltest du eine genauere Fehlerausgabe erhalten.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Also Ram sind gut 1,5GB frei, daran sollte es nicht liegen.
    Beim Debugging bekomme ich auch nicht mehr Informationen


    Code
    [DEBUG] Command [pasv] []
    [DEBUG] Command [retr] [index.html]
    [ERROR] Unable to map the file into memory: Cannot allocate memory


    Die Datei die ich laden möchte hat gerade mal 6 Byte.. Sobald die Datei größer als 0 Byte ist, funktioniert der Download nicht mehr.


    Was meinst du mit "Forking"?

  • Zitat von Knalltuete;26517

    Was meinst du mit "Forking"?


    Die Erstellung von Childs (Kindprozesse), wodurch du die Ausgabe nicht mehr auf der Konsole verfolgen könntest. Aber das scheint bei diesem FTP-Daemon und aktiviertem Debugging sowieso automatisch deaktiviert zu werden, habe ich vermutlich mit einem anderen verwechselt.


    Hast du den Debug Modus schon einmal komplett, aktiviert, also alle Details? Das geht meistens z.B. durch -vvv, wenn -v für den Debug Modus steht. Eventuell in der Hilfe nachsehen. Weil wirklich mehr sagt diese Fehlermeldung jetzt nicht aus.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hab die Doku nochmal durchgeschaut und nochn besseren Debugmodus gefunden, jedoch genauso nichtssagend in meinen Augen..



    Ich bin echt ratlos momentan :/

  • Ehrlich gesagt kann ich mit diesem Fehler auch nichts anfangen. Welche Version von PureFTPd hast du denn installiert? Und wie, über die Paketverwaltung?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat von Knalltuete;26542

    Ich konnte mit den ganzen Meldungen auch nicht viel anfangen, daher hab ich mich auch ans Forum gewandt ;)


    Dann lies die Documentation noch einmal.;)
    Und prüf parallel gleich die Konfigurationsparameter.
    Dann kommst selbst darauf was du falsch machtest.
    Dennn deutlicher als der geht es nicht.

    Zitat


    [ERROR] Unable to map the file into memory: Cannot allocate memory


    denk an Speicher.:D

  • Aus dem Source Code wurde ich jetzt auch nicht schlauer, außer dass diese Fehlermeldung im aktuellsten Release gar nicht mehr verwendet wird. Was mir als letzte Möglichkeit noch einfällt: Starte PureFTPd einmal über strace und logge die Ausgabe von strace in einer Datei. Vielleicht sieht man dort, was genau schief läuft beim Einlesen. Mehr fällt mir dazu leider nicht ein, tut mir Leid.


    chitypo: Bei einem Konfigurationsfehler müsste eine andere Fehlermeldung erscheinen, nicht so etwas nicht sagendes, weil ich wüsste nicht was bei so etwas schief laufen kann ;)



    Knalltuete: Welchen FTP Client verwendest du eigentlich?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat von killerbees19;26544

    ....weil ich wüsste nicht was bei so etwas schief laufen kann ;)


    Dann überlege mal genau ins Detail.;)
    Er soll sich die docu nochmal rein ziehen, dann wird er selbst sehen was er falsch eingestellt hat.

  • Zitat

    Knalltuete: Welchen FTP Client verwendest du eigentlich?

    Ich nutze Filezilla als FTP-Client.


    Zitat


    Dann lies die Documentation noch einmal.;)
    Und prüf parallel gleich die Konfigurationsparameter.
    Dann kommst selbst darauf was du falsch machtest.
    Dennn deutlicher als der geht es nicht.


    Ich werde mir die Doku nochmal anschauen und meine Konfiguration prüfen ;) Vielleicht habe ich wirklich was übersehen..


    Zitat



    denk an Speicher.:D


    Speicher hab ich doch zur genüge frei.. oder was willst du mir damit sagen? :confused:

  • Also ganz ehrlich.. ich konnte weder einen Parameter noch irgendeine Konfiguration finden welche etwas mit meinem Problem zu tun haben könnte.


    Aber du scheinst ja zu wissen wo das Problem liegt, vielleicht kannst du es auch einfach reinschreiben ;)


    Wegen strace, was soll ich da loggen? Nur den Start? Kann man auch laufende Prozesse loggen? Wenn ich mit strace -p versuche den Prozess von pureftpd zu loggen bekomme ich nur eine nichtssagende Zeile :/

  • Zitat von Knalltuete;26555

    Wegen strace, was soll ich da loggen? Nur den Start? Kann man auch laufende Prozesse loggen? Wenn ich mit strace -p versuche den Prozess von pureftpd zu loggen bekomme ich nur eine nichtssagende Zeile :/


    Alles was kurz vor dem Fehler passiert, dafür darf PureFTPd aber eben auch keine Childs erzeugen. Am besten also wieder den Debug Modus aktivieren und/oder Forking deaktivieren. strace zeigt dir jeden Systemaufruf des Programms und somit auch, was/wann/wo/wie eingelesen wird oder eben schief läuft. Das ist manchmal die einfachste Methode bei solchen Fehlern, auch wenn die Ausgaben nicht immer verständlich sind.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Gut, wenn ich wieder im Debug Modus arbeite dann bekomme ich auch ein paar mehr Zeilen ;)


    Also das hat er mir ausgespuckt als ich den Download gestartet habe


    Ich hoffe das hilft bei der Lösung des Problems weiter :)

  • So wie es aussieht findet sich wohl keine Lösung für das Problem.. Muss ich mich wohl doch nach einer Alternative umsehen :(


    Edit: Ahh ich bin ein Trottel! Hab gerade zum 100. mal die Config gecheckt und gemerkt, dass ich noch die Konfiguration für Geschwindigkeitsdrosslung aktiviert habe.. Daher kam der Fehler! Also sorry für den Stress den ich gemacht habe und vielen Dank für eure Hilfe! :)