次の方法で共有


Microsoft FTP の変更点

この記事では、Microsoft FTP 7.5 以降のバージョンで導入された変更の一部について説明します。

元の製品バージョン: インターネット インフォメーション サービス
元の KB 番号: 2505047

一部の NLST コマンド ライン オプションが機能しない

FTP の現在のバージョンでは、FTP クライアントは NLST コマンドを使用して、 -C-1-l-F-a、または -A コマンドライン オプションのみを使用できます。 たとえば、 -r オプション (並べ替え方向の逆) と -t オプション (最後の書き込みの時刻による並べ替え) は機能しなくなりました。 これらのコマンド ライン オプションは RFC に記載されていないため、今後のバージョンの FTP で実装が変更される可能性があります。

FTP データ接続が確立され、バックグラウンドで非同期的に切断される

FTP データ接続の確立と切断は、制御接続の応答のバックグラウンドで処理されます。 現在のバージョンの FTP では、制御接続に対する PORT コマンドへの応答として200 PORT コマンドが正常に返される前に、3 方向ハンドシェイクが開始され、データ接続が確立されます。 226 転送が完了すると応答はLISTの応答として返され、データ接続を切断するためのハンドシェイクが完了する前に制御接続にRETRコマンドが返されます。

IISFtp.vbs は FTP ではサポートされていません

現在のバージョンの FTP では、 IisFtp.vbs スクリプトはサポートされなくなり、FTP インストール パッケージの一部として含まれません。 そのため、 IisFtp.vbs を使用する機能には、現在のバージョンの FTP で異なるアクションが必要です。 たとえば、インターネット インフォメーション サービス (IIS) 6.0 で Active Directory 分離モードで FTP サイトを作成するために使用できる IIsFtp.vbs /setadprop コマンドは、現在のバージョンの FTP では使用できません。 代わりに、ADSI エディターを使用して、Active Directory 分離モードのホーム ディレクトリを指すように msIIS-FTPRoot プロパティと msIIS-FTPDir プロパティを設定します。

ADSI エディターは、Active Directory のオブジェクトと属性を管理するために使用できるライトウェイト ディレクトリ アクセス プロトコル (LDAP) エディターです。 既定では Windows Server ドメイン コントローラーにインストールされ、メンバー サーバーに手動でインストールする必要があります。

Active Directory モードでユーザーを分離するように構成するには、主に次の 3 つの手順があります。

  • IIS で、分離する FTP サイトを作成して構成します。
  • ファイル サーバーを構成します。
  • Active Directory を構成します。

分離する FTP サイトを作成して構成するには、「 FTP Active Directory ユーザー分離を参照してください。

ファイル サーバーを構成するときは、匿名ユーザーを偽装するように構成されたユーザーを含め、FTP サービスへの接続を許可されているすべてのユーザーの共有とユーザー ディレクトリを作成する必要があります。 この手順を完了する前に、予想されるディスク領域の使用量、記憶域の管理、ネットワーク トラフィックなどの要因を考慮してください。

Active Directory を構成するには、 IisFtp.vbs の代わりに ADSI エディターを使用できます。 Active Directory 分離モードで FTP サイトを構成するには、次の手順に従います。

  1. Startを選択し、Run を選択し、「adsiedit.msc」と入力して ADSI エディターを実行します。
  2. 必要に応じて、FTP サーバーのドメインに接続します。 既定では、ドメイン コントローラーが属しているドメインに接続します。
  3. コンソール ウィンドウで、FTP サーバーのドメインを展開し、 %Domain Name% を展開し、 CN=Users を選択します。
  4. 詳細ウィンドウで、 CN=%User% を右クリックし、 Properties を選択します。
  5. [ Attribute エディター タブで、 msIIS-FTPRoot または msIIS-FTPDir を選択し、 Edit を選択します。
  6. 編集し、[OK を選択します。

FTP クライアントがパッシブ モードでデータ接続を必要とするコマンドを送信すると、FTP は 125 または 150 の応答を返します

以前のバージョンの IIS では、FTP サービスは既に開いている 125 データ接続を返し クライアントとサーバーがパッシブ モード接続経由で通信しているときに FTP クライアントから送信された APPESTOU、および STOR コマンドの応答を転送します。 さらに、FTP は、 150 ファイルの状態が正常に返されます。データ接続を開き アクティブ モード接続を介した APPESTOU、および STOR コマンドの応答が返されます。

現在のバージョンの FTP では、応答メッセージは、データ接続の要求がパッシブ モードとアクティブ モードのどちらであるかに依存しません。 代わりに、データ接続が既に確立されている場合、FTP は 125 データ接続が既に開いている状態で応答し、転送を開始。 データ接続がまだ確立されていない場合、FTP は 150 ファイルの状態で応答し、データ接続を開きます

Note

FTP の現在のバージョンでは、以前の FTP 要求のデータ接続が切断されるまで、 PASV コマンドまたは EPSV コマンドのデータ接続の確立は開始されません。

FTP クライアントが行末として CRLF を使用しない場合、FTP は 451 エラー応答を返します

以前のバージョンの IIS では、FTP サービスは CRLFLF の両方を行末マークとして受け入れえました。 現在のバージョンの FTP では、行末マーカーとしての LF の使用はサポートされなくなりました。 RFC 959 によると、FTP は Telnet プロトコルの仕様に従う必要があります。ここで、 CRLF が唯一有効な行末マーカーです。 FTP クライアントが LF で行を終了しようとすると、FTP は次のエラー メッセージを返します。

451 パラメーターが正しくありません。

FTP クライアントがデータ接続に 1024 未満のポートを使用しようとした場合、FTP はデータ接続をリセットします

以前のバージョンの IIS では、FTP クライアントは、パッシブ モードとアクティブ モードの両方の FTP 通信で、データ接続に 1024 未満のポートを使用することを選択できました。 FTP の現在のバージョンでは、FTP クライアントがデータ接続に 1024 未満のポートを使用しようとすると、FTP は基になる TCP 接続をリセットします。 たとえば、FTP クライアントが STOR コマンドを使用してファイルのパッシブ モードのアップロードを行おうとし、データ接続に 1024 未満のポートを使用しようとすると、アップロードは失敗し、次のエントリが FTP ログに書き込まれます。

2012-01-15 02:08:16 123.456.789.0 user01 123.1.1.1 40063 DataChannelOpened - - 0 0
2012-01-15 02:08:16 123.456.789.0 user01 123.1.1.1 40063 DataChannelClosed - - 1236 38
2012-01-15 02:08:16 123.456.789.0 user01 123.1.1.1 21 STOR file.txt 425 1236 0

Note

1024 未満のデータ ポートを使用したアクティブ モード FTP アップロードの場合、Win32 の状態は 1236 ではなく 87 です。

この動作は、現在のバージョンの FTP では、0 ~ 1023 の範囲のポートがシステム プロセスまたは特権ユーザーによって実行されるプログラム用に予約されているために発生します。

開いているファイルの FTP RETR

現在のバージョンの FTP では、(FTP サービス (FTPSVC) ではなく) 別のプロセスによって既に開かれているファイルの RETR(GET) は、 ERROR_SHARING_VIOLATIONで失敗します。

詳細

FTP の現在のバージョンの詳細については、次の記事を参照してください。