Windows の ftp コマンドを使用して、ネットワーク上のローカル コンピューターから Filezilla FTP サーバー上のディレクトリにアクセスし、そのディレクトリ内のすべてのファイルのリストをテキスト ファイルに書き込もうとしています。ローカル ファイルを開くとエラーが発生し、アクセス許可が拒否されます。ただし、これらのコマンドは、ftp をホストしているサーバーや、ネットワーク上にない外部コンピューターからは正常に機能します。ネットワーク上のコンピューターからは機能しません。
Filezilla、FTP 接続、パッシブ FTP 接続、およびすべてのファイル転送に対して、すべてのファイアウォール設定が開かれています。ftp.exe がハングし、書き込み先のローカル ファイルがロックされていることがわかりました。以下はスクリプトの例です。
C:\>ftp ftpservice.dns.org
Connected to ftpservice.dns.org
220-FileZilla Server version 0.9.44 beta
220 Welcome to the FTPSERVICE FTP Server
User <ftpservice.dns.org:<none>>: user
331 Password required for user
Password:
230 Logged on
ftp> cd test
250 CWD successful. "/test" is current directory.
ftp> ls *.tar "C:\Users\Public\Software\Temp\Files.txt"
200 Port command successful
Error opening local file C:\Users\Public\Software\Temp\Files.txt.
> C:\Users\Public\Software\Temp\Files.txt:Permission denied
ftp>
私はドメイン管理者アカウントを使用しており、管理者として cmd を実行し、これらのフォルダーとファイルへのアクセス許可を全員に与えてフル コントロールできるようにしました。さらに、これらのファイルの所有権を ftp ユーザーに与えました。これらのコマンドを実行した後、上記のファイルを削除または変更しようとすると、アクセスが拒否されます。再度アクセスするには、タスク マネージャーで ftp.exe ファイルを終了する必要があることがわかりました。
これは、ネットワーク上のこのマシンでのみ発生します。ローカル ファイルを指定せずに ls コマンドを実行すると、ディレクトリ内のファイルは正常に一覧表示されます。何らかの理由で、このファイルに問題が発生しています。
何か案は?
答え1
あなたが書いた...
ディレクトリにアクセスしようとしていますFilezilla FTP サーバー使用してWindows の ftp コマンドネットワーク上のローカル コンピューターから、ディレクトリ内のすべてのファイルのリストをテキスト ファイルに保存します...
そして:
Filezilla、FTP 接続、パッシブ FTP 接続、およびすべてのファイル転送に対して、すべてのファイアウォール設定が開かれています。ftp.exe がハングし、書き込み先のローカル ファイルがロックされていることがわかりました...
あなたが提供した例は、私のネットワークでテストしたところうまくいきました (ただし、Windows FTP クライアントで試しました)。そのため、問題が何であるかを絞り込むために、さらにいくつか質問する必要があります。リモート サイトに接続し、リストをローカル ファイルにコピーしていることは明らかです。あなたの例からも、FileZilla Server バージョン 0.9.44 ベータ クライアントを使用しているように見えます。私は FileZilla クライアントを使用したことはありませんが、ファイル アクセスの問題は、使用している FTP クライアントに関係なく同じままです。結局のところ、ホスト オペレーティング システムの問題だからです (FileZilla クライアントがロードされた Windows Server であると想定しています。そのため、冒頭の段落で「Filezilla FTP サーバー」と言及されています)。Windows Server 2003/2008 ですか?)。もう一つの質問は…Files.txt ファイルのロックを監視して、ハングしたときにファイルに複数のロックがあるかどうかを確認しましたか? デッドロック状態に陥っている可能性があります。これを実現する方法についてさらに情報が必要な場合はお知らせください。ありがとうございます!