IIS 7 での FTP ユーザー分離の構成

作成者: Robert McMurray

互換性

バージョン メモ
IIS 7.5 FTP 7.5 サービスは、Windows 7 および Windows Server 2008 R2 の IIS 7.5 の機能として付属しています。
IIS 7.0 FTP 7.0 および FTP 7.5 サービスは、IIS 7.0 とは別にリリースされ、URL https://www.iis.net/downloads/microsoft/ftp からサービスをダウンロードしてインストールする必要がありました。

はじめに

Microsoft は、Windows Server 2008 用に完全に書き換えられた新しい FTP サービスを作成しました。 この新しい FTP サービスには、Web 作成者が以前よりも適切にコンテンツを公開できるようにする多くの新機能が組み込まれており、Web 管理者にはより多くのセキュリティと展開のオプションが提供されています。

このドキュメントでは、新しい FTP ユーザーのインターフェイスを使用して IIS 構成ファイルを直接編集することで実行する、さまざまな FTP ユーザーの分離設定について順を追って説明します。

Note

このチュートリアルには、ローカル管理者アカウントを使用して FTP サイトにログインする一連の手順が含まれています。 これらの手順は、必ずサーバー自体でループバック アドレスを使用するか、またはリモート サーバーから SSL 経由で行ってください。 Administrator アカウントではなく別のユーザー アカウントを使用する場合は、適切なフォルダーを作成し、必要に応じてそのユーザー アカウントの適切なアクセス許可を設定する必要があります。

前提条件

この記事の手順を完了するには、次の項目が必要です。

  1. Windows Server 2008 RC0 サーバーに IIS 7 をインストールし、インターネット インフォメーション サービス マネージャーをインストールする必要があります。

  2. 新しい FTP サービスをインストールする必要があります。 次のいずれかのリンクを使用して、Web サイト (https://www.iis.net/) から FTP サービスをダウンロードしてインストールできます。

    • FTP for IIS 7 (x64)
    • FTP for IIS 7 (x86)
  3. FTP 公開用のルート フォルダーを作成する必要があります。

    • %SystemDrive%\inetpub\ftproot にフォルダーを作成します。

    • 匿名アクセスを許可するようにアクセス許可を設定します。

      • コマンド プロンプトを開きます。

      • 次のコマンドを入力します。

        ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
        
      • コマンド プロンプトを閉じます。

  4. 追加のコンテンツ フォルダーを作成する必要があります。

    • %SystemDrive%\inetpub\ftproot\LocalUser\Public にフォルダーを作成します。
    • %SystemDrive%\inetpub\adminfiles にフォルダーを作成します。

FTP サイト ウィザードを使用した FTP サイトの作成

この最初のセクションでは、匿名ユーザーによる読み取り専用アクセスと管理者アカウントによる読み取り/書き込みアクセス用に開くことができる新しい FTP サイトを作成します。

  1. IIS マネージャーの [接続] ウィンドウで、ツリー内のサイト ノードをクリックします。

  2. 次の図に示すように、ツリーの [サイト] ノードを右クリックし、[FTP サイトの追加] をクリックするか、[操作] ウィンドウの [FTP サイトの追加] をクリックします。
    Screenshot of the I I S Manager screen with a focus on the Add F T P Site option in the right-click drop-down menu over the Sites folder.

  3. [FTP サイトの追加] ウィザードが表示されたら次の操作を行います。

    • [FTP サイト名] ボックスに「My New FTP Site」と入力し、[前提条件] セクションで作成した %SystemDrive%\inetpub\ftproot フォルダーに移動します。 コンテンツ フォルダーへのパスを入力したい場合は、パス内で環境変数を使用できることに注意してください。
    • これらの項目が完了したら、[次へ] をクリックします。
      Screenshot of the Add F T P Site wizard, displaying the Site Information section.
  4. ウィザードの次のページで、次の操作を行います。

    • 通常は、[IP アドレス] ドロップダウンから FTP サイトの IP アドレスを選択するか、または既定値である [すべて未割り当て] を選択します。このチュートリアルの後半で管理者アカウントを使用するため、必ずサーバーへのアクセスを制限し、[IP アドレス] ボックスには「127.0.0.1」と入力して、コンピューターのローカル ループバック IP アドレスを入力してください。
    • 通常は、[ポート] ボックスに FTP サイトの TCP/IP ポートを入力します。 このチュートリアルでは、既定のポートである 21 を選択します。
    • このチュートリアルではホスト名を使用しないため、[仮想ホスト] ボックスは必ず空欄にしてください。
    • [証明書] ドロップダウンが [選択されていません] に設定されており、[SSL を許可する] オプションが選択されていることを確認します。
    • これらの項目が完了したら、[次へ] をクリックします。
      Screenshot of the Add F T P Site screen's Binding and S S L Settings section with a focus on the Next option.
  5. ウィザードの次のページで、次の操作を行います。

    • [認証] 設定に [匿名] を選びます。
    • [認可] 設定で、[アクセス許可] ドロップダウンから [匿名ユーザー] を選択し、[アクセス許可] オプションの [読み取り] を選択します。
    • これらの項目が完了したら、[完了] をクリックします。
      Screenshot of the Add F T P Site screen's Authentication and Authorization Information section with a focus on the Finish option.
  6. IIS マネージャーで、作成した FTP サイトのノードをクリックして、すべての FTP 機能のアイコンを表示します。
    Screenshot of the I I S Manager screen showing the My New F T P Site Home section displaying F T P features.

  7. 基本認証を追加して、ユーザーがログインできるようにする必要があります。 [FTP 認証] アイコンをダブルクリックして、[FTP 認証機能] ページを開きます。
    Screenshot of the I I S Manager screen with a focus on the F T P Authentication option in the My New F T P Site Home section.

  8. [FTP 認証] ページが表示されたら、[基本認証] を強調表示し、[操作] ウィンドウで [有効] をクリックします。
    Screenshot of the I I S Manager screen's F T P Authentication section with a focus on the Enable option in the Actions pane.

  9. IIS マネージャーで、FTP サイトのノードをクリックして、すべての FTP 機能のアイコンをもう一度表示します。

  10. 認可規則を追加して、管理者がログインできるようにする必要があります。 [FTP 認可規則] アイコンをダブルクリックして、[FTP 認可規則機能] ページを開きます。
    Screenshot of the I I S Manager screen's F T P Authorization Rules option in the F T P section.

  11. [FTP 認可規則] ページが表示されたら、[操作] ウィンドウで [許可ルールの追加] をクリックします。
    Screenshot of the I I S Manager screen's F T P Authorization Rules section with a focus on the Add Allow Rule option in the Actions pane.

  12. [認可規則の追加] ダイアログ ボックスが表示されたら、次の操作を実行します。

    • [指定されたユーザー] を選択し、ボックスに「administrator」と入力します。
    • [アクセス許可] で、[読み取り][書き込み] の両方を選択します。
    • これらの項目が完了したら、[OK] をクリックします。
      Screenshot of the Add Allow Authorization Rule dialog box.

まとめ

このセクションで完了した項目をまとめます。

  1. "My New FTP Site" という名前の新しい FTP サイトを作成し、サイトのコンテンツ ルートを %SystemDrive%\inetpub\ftproot に設定しました。
  2. FTP サイトをポート 21 のコンピューターのローカル ループバック アドレスにバインドし、FTP サイトに Secure Sockets Layer (SSL) を使用しないことを選択しました。
  3. 匿名ユーザーにファイルへの "読み取り" アクセスを許可する FTP サイトの既定のルールを作成しました。
  4. FTP サイトの "読み取り" と "書き込み" の両方のアクセス許可を管理者アカウントに許可する認可規則を追加しました。
  5. FTP サイトに基本認証を追加しました。

新しい FTP ユーザー分離設定の確認

  1. IIS マネージャーで、作成した FTP サイトのノードをクリックして、すべての FTP 機能のアイコンを表示します。

  2. [FTP ユーザー分離] アイコンをダブルクリックして、FTP ユーザー分離機能を開きます。
    Screenshot of the I I S Manager screen's My New F T P Site Home section with a focus on the F T P User Isolation option.

  3. FTP ユーザー分離機能ページが表示されたら、次の 5 つの異なるオプションを使用できることがわかります。
    Screenshot of the I I S Manager screen's F T P User Isolation feature page.

  4. これらの 5 つのオプションは次のように定義されます。

    • ユーザーを分離しないでください。 次からユーザーを開始する:

      • FTP ルート ディレクトリ

        • すべての FTP セッションが、FTP サイトのルート ディレクトリで開始されることを指定します。

          Note

          このオプションは、この FTP サーバーの新機能であり、すべてのユーザー分離や開始フォルダー ロジックを簡単に無効にできます。

      • ユーザー名ディレクトリ

        • フォルダーが存在する場合、すべての FTP セッションが、現在のログオン ユーザーと名前が同じ物理または仮想ディレクトリで開始されることを指定します。フォルダーが存在しない場合、FTP セッションは FTP サイトのルート ディレクトリで開始されます。

          Note

          このオプションは、IIS 6.0 FTP サーバーでユーザーを分離しないと選択した場合と同じです。。 このオプションを使用する方法の詳細については、「FTP ユーザー分離を使用した複数の FTP サイトのホスト (IIS 6.0)」トピックの 「ユーザー モードを分離しない」 セクションを参照してください。

    • ユーザーを分離します。 ユーザーを次のディレクトリに制限する:

      • ユーザー名ディレクトリ (グローバル仮想ディレクトリを無効にする)

        • このオプションは、FTP ユーザー アカウントと同じ名前の物理ディレクトリまたは仮想ディレクトリに対して FTP ユーザー セッションを分離することを指定します。 ユーザーには FTP ルートの位置だけが表示されます。そのため、物理または仮想ディレクトリ ツリーの上方向への移動は制限されます。 作成されるすべてのグローバル仮想ディレクトリは無視されます。

          Note

          このオプションは、この FTP サーバーの新機能です。

      • ユーザー名物理ディレクトリ (グローバル仮想ディレクトリを有効にする)

        • このオプションは、FTP ユーザー アカウントと同じ名前の物理ディレクトリに対して FTP ユーザー セッションを分離することを指定します。 ユーザーには FTP ルートの位置だけが表示されます。そのため、物理ディレクトリ ツリーの上方向への移動は制限されます。 作成されるグローバル仮想ディレクトリは、すべてのユーザーに適用されます。

          Note

          このオプションは、IIS 6.0 FTP サーバーでユーザー分離を選択する場合と同じです。

      • Active Directory で構成された FTP ホーム ディレクトリ

        • このオプションは、各 FTP ユーザーの Active Directory アカウント設定で構成されているホーム ディレクトリに FTP ユーザー セッションを分離することを指定します。

          Note

          このオプションは、IIS 6.0 FTP サーバーで Active Directory のユーザー分離を選択する場合と同じです。

物理ディレクトリによるユーザー分離設定の構成

物理ディレクトリのみでユーザーを分離する場合、すべての FTP ユーザー セッションは、FTP ユーザー アカウントと同じ名前の物理ディレクトリに制限されます。 ただし、作成されるグローバル仮想ディレクトリは、すべてのユーザーに適用されます。

  1. IIS マネージャーで、作成した FTP サイトのノードをクリックして、すべての FTP 機能のアイコンを表示します。
  2. [FTP ユーザー分離] アイコンをダブルクリックして、FTP ユーザー分離機能を開きます。
    Screenshot of the I I S Manager screen's My New F T P Site Home section with the F T P User Isolation icon being highlighted.
  3. FTP ユーザー分離機能ページが表示されたら、[ユーザー名の物理ディレクトリ (グローバル仮想ディレクトリの有効化)] オプションを選択し、[操作] ウィンドウで [適用] をクリックします。
    Screenshot of the I I S Manager screen's F T P User Isolation section with a focus on the Apply option.

FTP サイトへのログイン

ユーザー分離を使用して FTP サイトにログインできるようになりましたが、次の情報が適用されます。

  1. FTP サイトに匿名でログインすると、[前提条件] セクションで作成した "LocalUser\Public" フォルダーにセッションが制限されます。
  2. 管理者アカウントを使用して FTP サイトにログインしようとすると、管理者アカウントにホーム ディレクトリが定義されていないため、ログオン要求が拒否されます。 管理者アカウントのログインを許可するには%SystemDrive%\inetpub\ftproot\LocalUser\Administrator で管理者アカウントのホーム ディレクトリを作成する必要があります。 その後、管理者アカウントを使用して FTP サイトにログインした場合、セッションは先ほど作成した "LocalUser\Administrator" フォルダーに制限されます。

まとめ

この手順で完了した項目をまとめます。[ユーザー名の物理ディレクトリ (グローバル仮想ディレクトリの有効化)] オプションを使用して FTP ユーザー分離を構成しました。 このユーザー分離モードを使用する場合、すべての FTP ユーザー セッションが FTP ユーザー アカウントと同じ名前の物理ディレクトリに制限され、作成されるすべてのグローバル仮想ディレクトリがすべてのユーザーに適用されます。

各ユーザーのホーム ディレクトリを作成するには、まず、FTP サーバーのルート フォルダーの下に物理ディレクトリを作成する必要があります。このディレクトリのローカル ユーザー アカウントには、ドメインにちなんで付けられた名前か LocalUser という名前が付けられます。 次に、FTP サイトにアクセスするユーザー アカウントごとに物理ディレクトリを作成する必要があります。 次の表に、FTP サービスに付属する認証プロバイダーのホーム ディレクトリ構文を示します。

ユーザー アカウントの種類 物理ホーム ディレクトリの構文
匿名ユーザー %FtpRoot%\LocalUser\Public
Windows のローカル ユーザー アカウント (基本認証が必要) %FtpRoot%\LocalUser\%UserName%
Windows ドメイン アカウント (基本認証が必要) %FtpRoot%\%UserDomain%\%UserName%
IIS マネージャーまたは ASP.NET のカスタム認証ユーザー アカウント %FtpRoot%\LocalUser\%UserName%

Note

上記の表で、%FtpRoot% は FTP サイトのルート ディレクトリです (例: C:\Inetpub\Ftproot)。

重要: グローバル仮想ディレクトリが有効になっています。十分なアクセス許可があれば、FTP サイトのルート レベルで構成されているすべての仮想ディレクトリに、すべての FTP ユーザーがアクセスできます。

すべてのディレクトリに対するユーザー分離設定の構成

すべてのディレクトリでユーザーを分離する場合、すべての FTP ユーザー セッションは、FTP ユーザー アカウントと同じ名前の物理または仮想ディレクトリに制限されます。 さらに、作成されるすべてのグローバル仮想ディレクトリは無視されます。 この手順では、すべてのディレクトリに対してユーザー分離を構成し、管理者ユーザー用の仮想ディレクトリを追加します。

  1. IIS マネージャーで、作成した FTP サイトのノードをクリックして、すべての FTP 機能のアイコンを表示します。

  2. [FTP ユーザー分離] アイコンをダブルクリックして、FTP ユーザー分離機能を開きます。
    Screenshot of the I I S Manager screen's My New F T P Site Home setion with the F T P User Isolation shortcut being highlighted.

  3. FTP ユーザー分離機能ページが表示されたら、[ユーザー名の物理ディレクトリ (グローバル仮想ディレクトリの有効化)] オプションを選択し、[操作] ウィンドウで [適用] をクリックします。
    Screenshot of the I I S Manager screen's F T P User Isolation section have the User name directory (disable global virtual directories) option selected.

  4. FTP サイトのツリー ノードを展開し、LocalUser フォルダーを右クリックして、[仮想ディレクトリの追加] をクリックします。

    Note

    この例では、"LocalUser" フォルダーは物理ディレクトリですが、仮想ディレクトリを使用することもできます。

    Screenshot of the I I S Manager screen's Connections pane with a focus on the Add Virtual Directory option in the right-click drop-down menu.

  5. [仮想ディレクトリ] ダイアログ ボックスが表示されたら、次の操作を実行します。

    • [エイリアス] に「administrator」と入力します。
    • 物理パス%SystemDrive%\inetpub\adminfiles と入力します。
    • これらの項目が完了したら、[OK] をクリックします。
      Screenshot of the Add Virtual Directory dialog box.

FTP サイトへのログイン

ユーザー分離を使用して FTP サイトにログインできるようになりましたが、次の情報が適用されます。

  1. 手順 3 で FTP サイトに匿名でログインすると、[前提条件] セクションで作成した "LocalUser\Public" フォルダーにセッションが制限されます。
  2. その後、管理者アカウントを使用して FTP サイトにログインした場合、セッションは先ほど作成した "/LocalUser/administrator" フォルダーに制限されます。

まとめ

この手順で完了した項目をまとめます。[ユーザー名の物理ディレクトリ (グローバル仮想ディレクトリの有効化)] オプションを使用して FTP ユーザー分離を構成しました。 このユーザー分離モードを使用する場合、すべての FTP ユーザー セッションが FTP ユーザー アカウントと同じ名前の物理ディレクトリに制限され、作成されるすべてのグローバル仮想ディレクトリが無視されます。

各ユーザーのホーム ディレクトリを作成するには、まず、FTP サーバーのルート フォルダーの下に仮想または物理ディレクトリを作成する必要があります。このディレクトリのローカル ユーザー アカウントには、ドメインにちなんで付けられた名前か LocalUser という名前が付けられます。 次に、FTP サイトにアクセスするユーザー アカウントごとに仮想または物理ディレクトリを作成する必要があります。 次の表に、FTP サービスに付属する認証プロバイダーのホーム ディレクトリ構文を示します。

ユーザー アカウントの種類 物理ホーム ディレクトリの構文
匿名ユーザー %FtpRoot%\LocalUser\Public
Windows のローカル ユーザー アカウント (基本認証が必要) %FtpRoot%\LocalUser\%UserName%
Windows ドメイン アカウント (基本認証が必要) %FtpRoot%\%UserDomain%\%UserName%
IIS マネージャーまたは ASP.NET のカスタム認証ユーザー アカウント %FtpRoot%\LocalUser\%UserName%

Note

上記の表で、%FtpRoot% は FTP サイトのルート ディレクトリです (例: C:\Inetpub\Ftproot)。

グローバル仮想ディレクトリは無視されます。FTP ユーザーは、FTP サイトのルート レベルで構成されているすべての仮想ディレクトリにアクセスすることはできません。 すべての仮想ディレクトリは、ユーザーの物理または仮想ホーム ディレクトリ パスの下に明示的に定義する必要があります。