FTPアップロードと上書きでは上書きされず、代わりに[file.ext].#が作成されます。

FTPアップロードと上書きでは上書きされず、代わりに[file.ext].#が作成されます。

この質問は重複していますStackOverflow の 1 つ、代わりにここでこの質問をするように勧められました。 複数投稿が望ましくない場合はお詫び申し上げます。

FTP に関して非常に奇妙な問題が発生しており、非常に困っています。この問題に遭遇したのは今回が初めてです。

ファイルをアップロードすると、元のファイルは上書きされず、[元のファイル.拡張子].1([ファイル].1がすでに存在する場合は[ファイル].2)に名前が変更されます。たとえば、style.cssがサーバー上に存在し、それをダウンロードして編集した場合、元の場所にアップロードすると、次のように「名前が変更されます」。スタイル.css.12回目の試行では、3番目のファイルが生成されます。スタイル.css.2

私は自分のマシンを所有しており、OpenSUSE 11.4 64 ビット版をインストールしています (比較的最近インストールしたもので、構成したばかりです)。pure-ftpd を使用し、YAST コントロール パネルを使用して設定を操作しています。特に Umask (umask files:umask dirs) 設定は 000:000 に設定されています (アップロードされたファイルに既存のファイルと同じ権限を与える唯一の設定)。全員に Chrooted ftp アクセスを許可しており、FTP が /srv/www/ にアクセスできるようにするために、次の手順に従っています。このサイトbind 操作を使用して /srv/www/ を /home/[user]/ftp/ 内にマウントします。したがって、FTP アクセスは非常に安全なユーザーに対して chroot されますが、ユーザーは引き続き /srv/www/ 内のコンテンツにアクセスできます。

また、/srv/www/ のコンテンツに、ユーザー自身と同じ権限とユーザー:グループを付与することにも時間を費やしました (つまり、権限の問題は発生しないはずです)。

私はこのサイトにアクセスするために WS_FTP Pro 2007 と Notepad++ (NppFTP 経由) を使用していますが、どちらのクライアントでも同じ問題が発生しています。ファイルをダウンロードすることはできますが、アップロードすると元のファイルが上書きされるのではなく、ファイルの末尾に「.#」が追加されます (.1、.2、.3 など)。これらの新しいファイルは元のファイルと同じ権限と所有権 (ユーザー:グループ) を持っているため、アップロードすると上書きされるのではなく新しいファイルが作成される理由がまったくわかりません。

追加編集: それ以来、Windows コマンド ラインの FTP 機能を含むいくつかの異なる FTP クライアントを試しましたが、最終結果は同じでした。

答え1

pure-ftpd には「自動名前変更」機能に関する記述がいくつかあります。これをオフにするだけでよいのでしょうか?http://pureftpd.sourceforge.net/README

ファイル名の説明からすると、この可能性は低いと思われますが、FTP クライアントは STOU オプションを使用していますか?http://www.nsftools.com/tips/RawFTP.htm

このQ+Aにも役立つ情報があるかもしれません FTP サーバーは既存のファイルの名前変更をどのように処理しますか?

関連情報