Настройка изоляции пользователей FTP в IIS 7

Роберт Макмюррей

Совместимость

Версия Примечания
IIS 7.5 Служба FTP 7.5 поставляется в качестве функции для IIS 7.5 в Windows 7 и Windows Server 2008 R2.
IIS 7.0 Службы FTP 7.0 и FTP 7.5 были выпущены отдельно от IIS 7.0, и для их использования требовалось скачать и установить их по следующему URL-адресу: https://www.iis.net/downloads/microsoft/ftp.

Введение

Корпорация Майкрософт создала новую службу FTP, которая была полностью перезаписана для Windows Server 2008. Эта новая служба FTP включает множество новых функций, позволяющих веб-авторам публиковать содержимое лучше, чем раньше, и предлагает веб-администраторам больше возможностей безопасности и развертывания.

В этом документе описаны различные параметры изоляции пользователей FTP с помощью нового пользовательского интерфейса FTP и непосредственного редактирования файлов конфигурации IIS.

Замечание

В этом пошаговом руководстве содержится ряд шагов, в которых вы войдете на FTP-сайт с помощью учетной записи локального администратора. Эти действия должны выполняться только на самом сервере с помощью адреса обратного цикла или по протоколу SSL с удаленного сервера. Если вы предпочитаете использовать отдельную учетную запись пользователя вместо учетной записи администратора, необходимо создать соответствующие папки и при необходимости задать правильные разрешения для этой учетной записи пользователя.

Необходимые условия

Для выполнения процедур в этой статье требуются следующие элементы:

  1. IIS 7 необходимо установить на сервере Windows Server 2008 RC0, и диспетчер Internet Information Services должен быть установлен.

  2. Необходимо установить новую службу FTP. Вы можете скачать и установить службу FTP с https://www.iis.net/ веб-сайта, используя одну из следующих ссылок:

    • FTP для IIS 7 (x64)
    • FTP для 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-сайт " на панели "Действия ".
    Скриншот экрана диспетчера IIS с фокусом на опции

  3. Когда появится мастер добавления FTP-сайта :

    • Введите "Мой новый FTP-сайт" в поле имени FTP-сайта , а затем перейдите в %SystemDrive%\inetpub\ftproot папку, созданную в разделе "Предварительные требования". Обратите внимание, что если вы решили ввести путь к папке содержимого, можно использовать переменные среды в путях.
    • После завершения этих элементов нажмите кнопку "Далее".
      Снимок экрана: мастер добавления сайта F T P с разделом
  4. На следующей странице мастера:

    • Обычно вы выберете IP-адрес для сайта FTP в раскрывающемся списке IP-адреса или вы можете принять значение по умолчанию "Все неназначенные". Так как вы будете использовать учетную запись администратора позже в этом пошаговом руководстве, необходимо убедиться, что вы ограничиваете доступ к серверу и введите локальный IP-адрес обратной передачи для компьютера, введя в поле IP-адреса "127.0.0.1".
    • Обычно вы вводите TCP/IP-порт для FTP-сайта в поле "Порт ". В этом пошаговом руководстве вы решите принять порт по умолчанию 21.
    • В этом пошаговом руководстве вы не будете использовать имя узла, поэтому убедитесь, что поле виртуального узла пусто.
    • Убедитесь, что в раскрывающемся списке "Сертификаты не выбраны " и выбран параметр "Разрешить SSL ".
    • После завершения этих элементов нажмите кнопку "Далее".
      <с0>Скриншот экрана добавления сайта FTP с разделом "Привязка и параметры SSL" с акцентом на параметр "Далее".
  5. На следующей странице мастера:

    • Выберите "Анонимный " для параметров проверки подлинности .
    • Для параметров авторизации выберите "Анонимные пользователи" в раскрывающемся списке "Разрешить доступ " и выберите "Чтение " для параметра "Разрешения ".
    • После завершения этих элементов нажмите кнопку "Готово".
      Снимок экрана: раздел
  6. В диспетчере IIS щелкните узел для сайта FTP, который вы создали; это отобразит значки для всех функций FTP.
    Снимок экрана диспетчера I I S с разделом

  7. Необходимо добавить обычную проверку подлинности, чтобы пользователи могли войти в систему. Для этого дважды щелкните значок проверки подлинности FTP , чтобы открыть страницу функции проверки подлинности FTP.
    Скриншот экрана I I S Manager с фокусом на параметре аутентификации F T P в разделе

  8. При отображении страницы проверки подлинности FTP выделите обычную проверку подлинности и нажмите кнопку "Включить " на панели "Действия ".
    Снимок экрана: раздел

  9. В диспетчере IIS щелкните узел для FTP-сайта, чтобы повторно отобразить значки для всех функций FTP.

  10. Необходимо добавить правило авторизации, чтобы администратор смог войти в систему. Для этого дважды щелкните значок правил авторизации FTP , чтобы открыть страницу функций правил авторизации FTP.
    Снимок экрана: параметр

  11. При отображении страницы "Правила авторизации FTP " нажмите кнопку "Добавить правило разрешения " на панели "Действия ".
    Снимок экрана: раздел

  12. При отображении диалогового окна "Добавление правила авторизации"

    • Выберите "Указанные пользователи", а затем введите "администратор" в поле.
    • Для разрешений выберите "Чтение " и " Запись".
    • После завершения этих элементов нажмите кнопку "ОК".
      Снимок экрана: диалоговое окно

Сводка

Чтобы подвести итоги по элементам, выполненным в этом разделе, сделайте следующее:

  1. Вы создали новый FTP-сайт с именем "Мой новый FTP-сайт", с корнем содержимого сайта в %SystemDrive%\inetpub\ftproot.
  2. Вы привязали FTP-сайт к локальному адресу обратного цикла для компьютера через порт 21, и мы решили не использовать протокол SSL для ftp-сайта.
  3. Вы создали правило по умолчанию для ftp-сайта, чтобы разрешить анонимным пользователям доступ "Чтение" к файлам.
  4. Вы добавили правило авторизации, которое позволяет учетной записи администратора разрешать разрешения на чтение и запись для сайта FTP.
  5. Вы добавили обычную проверку подлинности на FTP-сайт.

Изучение новых параметров изоляции пользователей FTP

  1. В диспетчере IIS щелкните узел для созданного вами сайта FTP; при этом будут отображаться значки для всех функций FTP.

  2. Дважды щелкните значок изоляции пользователей FTP , чтобы открыть функцию изоляции пользователей FTP.
    Скриншот раздела

  3. При отображении страницы функции изоляции пользователей FTP обратите внимание, что у вас есть пять различных вариантов:
    Снимок экрана: страница

  4. Эти пять вариантов определяются следующим образом:

    • Не изолируйте пользователей. Запуск пользователей в:

      • Корневой каталог FTP

        • Этот параметр указывает, что все сеансы FTP будут запускаться в корневом каталоге для FTP-сайта.

          Замечание

          Этот параметр является новым на этом FTP-сервере и просто отключает всю логику изоляции пользователя или запуска папки.

      • Каталог имени пользователя

        • Этот параметр указывает, что все сеансы FTP будут запускаться в физическом или виртуальном каталоге с тем же именем пользователя, вошедшего в систему, если папка существует; В противном случае сеанс FTP начнется в корневом каталоге для FTP-сайта.

          Замечание

          Этот параметр совпадает с выбором отсутствия изоляции пользователей на FTP-сервере IIS 6.0. Дополнительные сведения об использовании этого параметра см. в разделе "Не изолировать режим пользователей" в разделе "Размещение нескольких FTP-сайтов с изоляцией пользователей FTP (IIS 6.0).

    • Изоляция пользователей. Ограничить пользователей следующим каталогом:

      • Каталог имени пользователя (отключение глобальных виртуальных каталогов)

        • Этот параметр указывает, что вы хотите изолировать сеансы пользователей FTP в физическом или виртуальном каталоге с тем же именем учетной записи пользователя FTP. Пользователь видит только свое корневое расположение FTP и, следовательно, ограничен переходом вверх по дереву физического или виртуального каталога. Все созданные глобальные виртуальные каталоги будут игнорироваться.

          Замечание

          Этот параметр является новым в этом FTP-сервере.

      • Физический каталог имени пользователя (включение глобальных виртуальных каталогов)

        • Этот параметр указывает, что вы хотите изолировать сеансы пользователей FTP в физическом каталоге с тем же именем учетной записи пользователя FTP. Пользователь видит только свое корневое расположение FTP и поэтому ограничен переходом вверх по дереву физического каталога. Все созданные глобальные виртуальные каталоги будут применяться ко всем пользователям.

          Замечание

          Этот параметр совпадает с выбором изоляции пользователей на FTP-сервере IIS 6.0.

      • Домашний каталог FTP, настроенный в Active Directory

        • Этот параметр указывает, что вы хотите изолировать сеансы пользователей FTP в домашнем каталоге, настроенном в параметрах учетной записи Active Directory для каждого пользователя FTP.

          Замечание

          Этот параметр совпадает с выбором изоляции пользователей Active Directory на FTP-сервере IIS 6.0.

Настройка параметров изоляции пользователей по физическим каталогам

При изоляции пользователей только физическими каталогами все сеансы пользователей FTP ограничены физическим каталогом с тем же именем учетной записи пользователя FTP. Однако все созданные глобальные виртуальные каталоги будут применяться ко всем пользователям.

  1. В диспетчере IIS щелкните узел для созданного вами сайта FTP; при этом будут отображаться значки для всех функций FTP.
  2. Дважды щелкните значок изоляции пользователей FTP , чтобы открыть функцию изоляции пользователей FTP.
    Снимок экрана менеджера I I S в разделе
  3. При отображении страницы функции изоляции пользователей FTP выберите физический каталог имени пользователя (включить глобальные виртуальные каталоги) и нажмите кнопку "Применить " на панели "Действия ".
    Снимок экрана I I S Manager в разделе

Вход на 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%

Замечание

В приведенной выше таблице %FtpRoot% является корневым каталогом для сайта FTP; например, C:\Inetpub\Ftproot.

Важное примечание. Включены глобальные виртуальные каталоги; Все виртуальные каталоги, настроенные на корневом уровне сайта FTP, могут быть доступны всем пользователям FTP, при условии, что у них есть достаточные разрешения.

Настройка параметров изоляции пользователей для всех каталогов

При изоляции пользователей для всех каталогов все сеансы пользователей FTP ограничены физическим или виртуальным каталогом с тем же именем учетной записи пользователя FTP. Кроме того, все созданные глобальные виртуальные каталоги будут игнорироваться. На этом шаге вы настроите изоляцию пользователей для всех каталогов и добавьте виртуальный каталог для пользователя администратора.

  1. В диспетчере IIS щелкните узел для созданного вами сайта FTP; при этом будут отображаться значки для всех функций FTP.

  2. Дважды щелкните значок изоляции пользователей FTP , чтобы открыть функцию изоляции пользователей FTP.
    Снимок экрана диспетчера IIS с разделом домашней страницы

  3. При отображении страницы функции изоляции пользователей FTP выберите каталог имени пользователя (отключить глобальные виртуальные каталоги) и нажмите кнопку "Применить " на панели "Действия ".
    Скриншот окна менеджера I I S, раздел

  4. Разверните узел дерева для сайта FTP, а затем щелкните правой кнопкой мыши папку LocalUser и нажмите кнопку "Добавить виртуальный каталог".

    Замечание

    В этом примере папка LocalUser является физическим каталогом, но виртуальный каталог также может использоваться.

    Снимок экрана: панель

  5. При появлении диалогового окна "Добавить виртуальный каталог ":

    • Введите "администратор" для псевдонима.
    • Введите %SystemDrive%\inetpub\adminfilesфизический путь.
    • После завершения этих элементов нажмите кнопку "ОК".
      Снимок экрана: диалоговое окно

Вход на FTP-сайт

Теперь вы можете войти на FTP-сайт с помощью изоляции пользователей, но применяются следующие сведения:

  1. Как и при использовании шага 3, если вы войдете на FTP-сайт анонимно, сеанс будет ограничен папкой LocalUser\Public, созданной в разделе предварительных требований.
  2. Если вы войдете на FTP-сайт с помощью учетной записи администратора, сеанс будет ограничен только что созданным виртуальным каталогом /LocalUser/administrator.

Сводка

Чтобы вернуть элементы, выполненные на этом шаге, вы настроили изоляцию пользователей FTP с помощью параметра "Имя пользователя" (отключить глобальные виртуальные каталоги). При использовании этого режима изоляции пользователей ftp все сеансы FTP ограничены виртуальным или физическим каталогом с тем же именем учетной записи пользователя FTP, и все созданные глобальные виртуальные каталоги будут игнорироваться.

Чтобы создать домашние каталоги для каждого пользователя, сначала необходимо создать виртуальный или физический каталог в корневой папке FTP-сервера, которая называется доменом или именем LocalUser для учетных записей локальных пользователей. Затем необходимо создать виртуальный или физический каталог для каждой учетной записи пользователя, которая будет получать доступ к ftp-сайту. В следующей таблице перечислены структура домашнего каталога для поставщиков проверки подлинности, которые поставляются со службой FTP:

Типы учетных записей пользователей Синтаксис физического домашнего каталога
Анонимные пользователи %FtpRoot%\LocalUser\Public
Локальные учетные записи пользователей Windows (требуется базовая проверка подлинности) %FtpRoot%\LocalUser\%UserName%
Учетные записи домена Windows (требуется базовая проверка подлинности) %FtpRoot%\%UserDomain%\%UserName%
Диспетчер IIS или пользовательские учетные записи ASP.NET для проверки подлинности %FtpRoot%\LocalUser\%UserName%

Замечание

В приведенной выше таблице %FtpRoot% является корневым каталогом для сайта FTP; например, C:\Inetpub\Ftproot.

Глобальные виртуальные каталоги игнорируются; Все виртуальные каталоги, настроенные на корневом уровне сайта FTP, не могут быть доступны любым пользователям FTP. Все виртуальные каталоги должны быть явно определены в пути к физическому или виртуальному домашнему каталогу пользователя.