FTP Upload & Overwrite wird NICHT überschrieben, sondern erstellt stattdessen [file.ext]. #

6398
René Kåbis

Diese Frage ist ein Duplikat einer in StackOverflow, und es wurde mir empfohlen, diese Frage stattdessen hier zu stellen. Ich entschuldige mich, wenn das Multi-Posting unerwünscht ist.

Ich habe ein sehr seltsames Problem mit FTP, das die lebenden Tageslichter aus mir herauszieht. Dies ist das erste Mal, dass ich dieses Problem jemals gesehen habe.

Wenn ich eine Datei hochlade, wird das Original nicht überschrieben, sondern in [ursprüngliche Datei.ext] .1 (oder [Datei] .2, falls [Datei] .1 bereits vorhanden ist) umbenannt. Wenn zum Beispiel style.css auf dem Server vorhanden ist und ich es herunterlade und bearbeite, wird es beim Hochladen in Position als style.css.1 "umbenannt" . Bei einem zweiten Versuch wird eine dritte Datei namens style.css.2 erstellt .

Ich besitze mein eigenes Eisen, auf dem ich OpenSUSE 11.4 64-Bit installiert habe (eine relativ neue Installation, die gerade konfiguriert wurde). Ich verwende pure ftpd und verwende die YAST-Systemsteuerung, um die Einstellungen zu ändern. Insbesondere die Einstellung Umask (umask files: umask dirs) ist auf 000: 000 gesetzt (die einzige Einstellung, die einer hochgeladenen Datei die gleichen Berechtigungen gibt wie vorhandene Dateien). Ich habe Chrooted-FTP-Zugriff für alle Benutzer. Damit FTP auf / srv / www / zugreifen kann, habe ich die Anweisungen auf dieser Site verwendet, um / srv / www / in / home / [user] / ftp / mithilfe der Bindeoperation einzuhängen . Ergo ist der FTP-Zugriff für einen sehr sicheren Benutzer geordnet, der Benutzer hat jedoch weiterhin Zugriff auf Inhalte innerhalb von / srv / www /.

Ich habe mir auch die Zeit genommen, dem Inhalt von / srv / www / die gleichen Berechtigungen und user: group wie den Benutzer selbst zu geben (dh es sollten KEINE Berechtigungsprobleme auftreten).

Ich verwende WS_FTP Pro 2007 für den Zugriff auf die Website sowie Notepad ++ (über NppFTP). Beide Clients haben das gleiche Problem: Ich kann Dateien problemlos herunterladen, aber wenn ich sie hochlade, wird ihnen das ". #" Hinzugefügt ( .1, .2, .3 usw.) anstatt die Originaldatei zu überschreiben. Diese neuen Dateien haben die IDENTICAL-Berechtigungen und -Eigentum (Benutzer: Gruppe) als Originaldatei. Daher bin ich völlig im Dunkeln, warum beim Hochladen eine neue Datei erstellt wird, anstatt sie zu überschreiben.

Zum Hinzufügen bearbeitet: Ich habe seither verschiedene FTP-Clients ausprobiert, einschließlich der FTP-Funktionalität in der Windows-Befehlszeile, mit identischen Endergebnissen.

1
Dies ist wahrscheinlich eine häufige Erscheinung bei FTP-Software - beispielsweise haben Sie einen FTP-Zugriff auf `important-file.txt ', und ein Skript, in das kiddy eingebrochen ist, wurde eingebrochen und mit einer leeren Textdatei überschrieben. Mein Tipp: Schreiben Sie einen Cron-Job, um diese Dateien umzubenennen, und führen Sie sie alle 5 Minuten aus. Sollte nicht zu schwierig sein, wenn Sie mit Shell-Skripten halb kompetent sind. new123456 vor 12 Jahren 0
@ new123456 - Ich habe FTP-Server auf einer Reihe von Boxen ausgeführt, bevor OpenSUSE 11.4 eingerichtet wurde. Keiner von ihnen hat dieses besondere Verhalten gezeigt. Ich würde es vorziehen, eine saubere und elegante Lösung zu verwenden, nicht irgendeinen Cron-Job-Hack. René Kåbis vor 12 Jahren 0

1 Antwort auf die Frage

1
Dennis

Es gibt mehrere Verweise auf eine "Autoname" -Funktion in pure-ftpd. Geht es nur darum, es auszuschalten? http://pureftpd.sourceforge.net/README

Und obwohl die Dateinamenbeschreibungen dies weniger wahrscheinlich erscheinen lassen, verwendet der FTP-Client die STOU-Option? http://www.nsftools.com/tips/RawFTP.htm

Möglicherweise gibt es auch Hilfe in dieser Frage. F + A Wie behandeln FTP-Server das Umbenennen einer vorhandenen Datei?

Sie haben mich in die richtige Richtung blicken lassen, obwohl es einige Zeit dauerte, um dies herauszufinden. Für andere Benutzer, die OpenSUSE oder pure-ftpd zusammen mit dem YAST-Kontrollfeld verwenden, ist zu beachten, dass das YAST-Kontrollfeld Ihnen NICHT diese Option zur Bearbeitung zur Verfügung stellt. René Kåbis vor 12 Jahren 0
Was ich (in meinem Fall) getan habe, war die Prüfung der ** / etc / rc.d / pure-ftpd ** -Datei, die einen Verweis auf ** / etc / pure-ftpd / pure-ftpd.conf ** enthielt. . In dieser zweiten Datei habe ich den Eintrag ** AutoRename ** mit dem Wert * yes * gefunden. Ich habe das in * no * geändert, pure-ftpd neu gestartet und alles lief perfekt. Hochgeladene Dateien werden NICHT mehr mit einem **. # ** angehängt. Danke @Dennis, für den Schub in die richtige Richtung! René Kåbis vor 12 Jahren 0