Upload via FTP und PHP auf einer Domain nicht möglich

Axmax

Registered User
Ich bitte euch dringend um Hilfe!

Seit Montag sind auf meinem STRATO-Server (SUSE 10.2 mit ServerAdmin24) auf einer Domain keine Uploads mehr möglich. Foren-User können keine Dateianhänge hochladen, und die Mods können keine Uploads per FTP machen. Von den 250GB sind erst 29% belegt. df zeigt
Code:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md1             239272584  64661760 162456456  29% /
udev                    509372        84    509288   1% /dev
/dev/md0                 54348      9045     42497  18% /boot
Quotas habe ich keine vergeben. In phpMyAdmin steht überall "0". Auf anderen Domains können FTP-User einwandfrei hochladen. So habe ich einen temporären FTP-Zugang zu einer anderen Domain eingerichtet, damit ich als Root über WinSCP die Dateien verschieben kann. Aber das ist ja keine Dauerlösung. :(

Wenn ich über Filezilla versuche, eine Datei hochzuladen, steht der Dateiname im Remote-Fenster, aber mit Größe "0". Das Protokoll sagt beim Upload von "Profil.jpg" z.B.
Code:
Status:	Starte Upload von C:\Dokumente und Einstellungen\jb\Desktop\_Upload\MeineDomain.de\Profil.jpg
Befehl:	TYPE I
Antwort:	200 Switching to Binary mode.
Befehl:	PORT 192,168,0,171,7,230
Antwort:	200 PORT command successful. Consider using PASV.
Befehl:	STOR Profil.jpg
Antwort:	150 Ok to send data.
Antwort:	451 Failure writing to local file.
Fehler:	Upload fehlgeschlagen

Als Quasi-Newbie fehlen mir jetzt die Kenntnisse, wo ich suchen muss. Und weder hier im Forum noch im Netz konnte ich etwas finden. Bitte helft mir!
 
Last edited by a moderator:
in /var/log/apache2 habe ich
access_log
error_log
error_log.sa24 (127MB groß! ist das normal?)
suexec.log
suphp.log
(Unterstrich und Punkt exakt wie in der Dateiliste)


dann noch einige in /var/log/exim, /var/log/sa24, /var/log/YaST2, die m.E. nichts mit dem Upload zu tun haben könnten.
 
Da hab ich mal wieder richtig goldig formuliert - Verzeihung. Wir sind vielmehr am Inhalt der relevanten Logfiles interessiert :)
 
Wenn ich wüsste, welche relevant wären, würde ich vielleicht hier nicht fragen. Aber ich frage mal ganz unverdrossen: Welche sind denn in diesem Kontext relevant? ;)
 
Code:
find / -name xfer*
Bringt das irgendeine Ausgabe? Ansonsten mal unverbindlich in /var/log/messages schauen.
 
Wenn ich über Filezilla versuche, eine Datei hochzuladen, steht der Dateiname im Remote-Fenster, aber mit Größe "0".

Ich habe den identischen Fehler, wenn ich anstatt mit Passiv-FTP versuche mit Aktiv-FTP Dateien zu übertragen.

Das kann ein Problem des Clients sein und wurde bei mir durch den Einsatz von Norton 360 erzeugt. Wenn ich alle FTP-Verbindungen (Total Commander, jEdit) auf Passiv-FTP stelle, funktioniert es.

Wenn Du Windows als Client hast, versuch bitte folgendes auf Kommandozeile:
Code:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>ftp 82.169.183.256
Verbindung mit 82.169.183.256 wurde hergestellt.
220 ProFTPD 1.3.0 Server (ProFTPD) [82.169.183.256]
Benutzer (82.169.183.256:(none)): meinbenutzer
331 Password required for meinbenutzer.
Kennwort:
230 User meinbenutzer logged in.
ftp> ls
200 PORT command successful

Ändere die IP-Adresse entsprechend ab (ich habe sie extra "unkenntlich" gemacht).

Nach "200 PORT command successful" passiert nichts mehr und man kann nur noch mit STRG+C abbrechen.

Der gleiche Befehl auf Linux geht beim mir aber, weil ich dort trotz Firewall keine Probleme mit Aktiv-FTP habe.

Gruß
Claus
 
Last edited by a moderator:
Hallo Claus,

auf diesem Server müssen alle FTP-Clients auf aktiv stehen. Sonst gibt es keinen Transfer. Auf anderen Domains läuft FTP ja einwandfrei. Nur auf einer nicht. Beim Power-ServerS hatte ich keine Probleme. Allerdings hatte ich da auch kein Hardened-PHP. Suhosin hat mir schon zweimal einen Streich gespielt. Dort vermute ich auch diesmal den Fehler.

Nicht nur über FTP geht der Xfer nicht. Auch die Forenuser können keine Dateianhänge hochladen. Und ich als Admin kann im ACP der WBB-Software keine Einstellungen vornehmen, weil jedem Versuch des Speicherns die config.inc.php als leere Datei auf dem Server liegt. Dann ist das Forum platt. Alle Einstellungen weg.

@marneus:
/var/log/messages zeigt haufenweise Fehlerzeilen dieser Art:
Code:
Aug 28 17:47:26 h1304xxx vsftpd: Tue Aug 28 17:47:26 2007 [pid 5901] [meinbenutzer] FAIL UPLOAD: Client "255.152.253.256", "/audio/dateixxxx.mp3", 1440 bytes, 4.69Kbyte/sec

Auf der anderen Domain läufts:
Code:
Aug 30 10:33:01 h1304xxx vsftpd: Thu Aug 30 10:33:01 2007 [pid 8612] [meinbenutzer] OK UPLOAD: Client "255.152.253.256", "/public_html/dateixxxx.html", 10207 bytes, 45.20Kbyte/sec
 
Hm, irgendein Log muss Dein FTP-Daemon aber doch schreiben. Die bisher geposteten Infos aus den Logs sagen nur, dass etwas schief gegangen ist, aber nicht was.
 
Hm, irgendein Log muss Dein FTP-Daemon aber doch schreiben.
Nein. Laut Einstellung des FTP Daemons soll er in die Datei /var/log/xferlog schreiben. Hier die Config-Datei (ab Log Settings). Sie ist von mir nie verändert worden:
Code:
# Log Settings
#
# Log to the syslog daemon instead of using an logfile.
#
syslog_enable=YES
#
# Uncomment this to log all FTP requests and responses.
#
#log_ftp_protocol=YES
#
# Activate logging of uploads/downloads.
#
xferlog_enable=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
#
#vsftpd_log_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note: This disables the normal logging unless you enable dual_log_enable below.
#
#xferlog_std_format=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
#
xferlog_file=/var/log/xferlog
#
# Enable this to have booth logfiles. Standard xferlog and vsftpd's own style log.
#
#dual_log_enable=YES
#
# Uncomment this to enable session status information in the system process listing.
#
#setproctitle_enable=YES

# Transfer Settings
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
#
connect_from_port_20=YES
#
# You may change the default value for timing out an idle session.
#
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#
#data_connection_timeout=120
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# Set to NO if you want to disallow the  PASV  method of obtaining a data
# connection.
#
#pasv_enable=NO

# PAM setting. Do NOT change this unless you know what you do!
#
pam_service_name=vsftpd

# Set listen=YES if you want vsftpd to run standalone
#
listen=YES

# Set to ssl_enable=YES if you want to enable SSL
ssl_enable=NO
Ich habe die Datei mal leer per Hand angelegt. Aber sie bleibt leer. Wie bereits gesagt, spielt sich das ganze Upload-Dilemma nur auf einer Domain ab.
 
Ich habe jetzt xferlog aktiviert. Der Eintrag sieht so aus:
Code:
Sun Sep  2 18:17:42 2007 1 89.246.149.256 1440 /public_html/datei.gif b _ i r meinbenutzer ftp 0 * i

Und hier noch einmal ein Auszug aus /var/log/messages, aber ausführlicher:
Code:
Sep  2 18:17:39 h1309999 vsftpd: Sun Sep  2 18:17:39 2007 [pid 14365] [meinbenutzer] FTP command: Client "89.246.49.200", "TYPE A"
Sep  2 18:17:39 h1309999 vsftpd: Sun Sep  2 18:17:39 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "200 Switching to ASCII mode."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP command: Client "89.246.149.256", "PORT 89,246,149,256,225,235"
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "200 PORT command successful. Consider using PASV."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP command: Client "89.246.149.256", "LIST"
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "150 Here comes the directory listing."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "226 Directory send OK."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP command: Client "89.246.149.256", "TYPE I"
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "200 Switching to Binary mode."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP command: Client "89.246.149.256", "PORT 89,246,149,256,225,237"
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "200 PORT command successful. Consider using PASV."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP command: Client "89.246.149.256", "APPE datei.gif"
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "150 Ok to send data."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FTP response: Client "89.246.149.256", "451 Failure writing to local file."
Sep  2 18:17:40 h1309999 vsftpd: Sun Sep  2 18:17:40 2007 [pid 14365] [meinbenutzer] FAIL UPLOAD: Client "89.246.149.256", "/public_html/datei.gif", 1440 bytes, 9.90Kbyte/sec
 
Last edited by a moderator:
Alles wieder in Ordnung!

Hallo marneus,

ich hab die ganze Zeit nur an die FTP-User-Quotas gedacht, die ich nie gesetzt habe. An die Gesamt-Quota für die Domain überhaupt nicht. Vollkommen betriebsblind. Mit deiner nochmaligen Frage hast du mich an die gesamte Quota erinnert und mir sehr geholfen.

Vielen Dank an dich und die anderen.
 
Last edited by a moderator:
Back
Top