Загрузка и перезапись по FTP НЕ перезаписывает, а вместо этого создает [file.ext].#

Загрузка и перезапись по FTP НЕ перезаписывает, а вместо этого создает [file.ext].#

Этот вопрос является дубликатомодин в StackOverflow, и мне рекомендовали задать этот вопрос здесь. Мои извинения, если мультипостинг нежелателен.

У меня очень странная проблема с FTP, которая меня просто выводит из себя. Это ПЕРВЫЙ раз, когда я вижу эту проблему.

Когда я загружаю файл, он не перезаписывает оригинал, а вместо этого переименовывается в [исходный файл.ext].1 (или [файл].2, если [файл].1 уже существует). Например, если style.css существует на сервере, и я загружаю и редактирую его, когда я загружаю его обратно на место, он «переименовывается» встиль.css.1. Повторная попытка создает третий файл с именемстиль.css.2.

У меня есть собственное железо, на котором установлен OpenSUSE 11.4 64-бит (относительно недавняя установка, только что настроенная). Я использую pure-ftpd и использую панель управления YAST для управления настройками. В частности, параметр Umask (umask files:umask dirs) установлен на 000:000 (единственный параметр, который даст загруженному файлу те же права, что и существующим файлам). У меня есть доступ Chrooted ftp для всех, и для того, чтобы FTP мог получить доступ к /srv/www/, я использовал инструкции наэтот сайтдля монтирования /srv/www/ внутри /home/[user]/ftp/ с помощью операции bind. Следовательно, доступ по FTP осуществляется в изолированном каталоге для очень защищенного пользователя, но у пользователя по-прежнему есть доступ к содержимому внутри /srv/www/.

Я также потратил время на то, чтобы предоставить содержимому /srv/www/ те же разрешения и user:group, что и самому пользователю (т. е. проблем с разрешениями быть НЕ должно).

Я использую WS_FTP Pro 2007 для доступа к сайту, а также Notepad++ (через NppFTP), и у обоих клиентов одна и та же проблема: я могу нормально загружать файлы, но когда я их загружаю, к ним добавляется «.#» (.1, .2, .3 и т. д.) вместо того, чтобы перезаписывать исходный файл. Эти новые файлы имеют ИДЕНТИЧНЫЕ разрешения и владельца (пользователь:группа), как и исходный файл, поэтому я совершенно не понимаю, почему загрузка создает новый файл вместо того, чтобы перезаписывать.

Отредактировано для добавления: с тех пор я перепробовал несколько разных FTP-клиентов, включая функцию FTP в командной строке Windows, и получил идентичные конечные результаты.

решение1

Есть несколько ссылок на функцию "autorename" в pure-ftpd. Вопрос только в ее отключении?http://pureftpd.sourceforge.net/README

И хотя описания имен файлов делают это менее вероятным, использует ли FTP-клиент опцию STOU?http://www.nsftools.com/tips/RawFTP.htm

Возможно, вам также поможет этот раздел вопросов и ответов. Как FTP-серверы обрабатывают переименование существующего файла?

Связанный контент