Поделиться через


Параметры <анонимной проверки подлинности FTP по умолчанию anonymousAuthentication>

Общие сведения

Элемент <anonymousAuthentication> задает параметры для анонимного доступа. Эта форма проверки подлинности обеспечивает доступ к FTP-сайту без учетной записи пользователя на сервере или в домене и чаще всего используется для общедоступных FTP-сайтов.

Анонимные пользователи обычно выполняют вход с помощью имени пользователя ftp или anonymous, и большинство пользователей будут использовать свой адрес электронной почты в качестве пароля, хотя это не обязательно.

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

Версия Примечания
IIS 10.0 Элемент <anonymousAuthentication> не был изменен в IIS 10.0.
IIS 8,5 Элемент <anonymousAuthentication> не был изменен в IIS 8.5.
IIS 8,0 Элемент <anonymousAuthentication> не был изменен в IIS 8.0.
IIS 7,5 Элемент <anonymousAuthentication> элемента поставляется <authentication> как компонент IIS 7.5.
IIS 7.0 Элемент <anonymousAuthentication> элемента появился <authentication> в FTP 7.0, который был отдельной загрузкой для IIS 7.0.
IIS 6,0 Элемент <ftpServer> и его дочерние элементы заменяют параметры FTP IIS 6.0, расположенные в пути метабазы LM/MSFTPSVC .

Примечание

Службы FTP 7.0 и FTP 7.5 поставляются внеполосно для IIS 7.0, что требует скачивания и установки модулей по следующему URL-адресу:

https://www.iis.net/expand/FTP

В Windows 7 и Windows Server 2008 R2 служба FTP 7.5 поставляется в качестве функции для IIS 7.5, поэтому скачивание службы FTP больше не требуется.

Настройка

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

Windows Server 2012 или Windows Server 2012 R2

  1. На панели задач щелкните Диспетчер сервера.

  2. В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.

  3. В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.

  4. На странице Роли сервера разверните узел Веб-сервер (IIS) и выберите FTP-сервер.

    Примечание

    Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Помимо службы FTP необходимо выбрать расширяемость FTP.
    Снимок экрана: служба F T P и расширяемость F T P, выбранные в интерфейсе Windows Server 2012. .

  5. Нажмите кнопку Далее, а затем на странице Выбор компонентов нажмите кнопку Далее еще раз.

  6. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.

  7. На странице Результаты нажмите кнопку Закрыть.

Windows 8 или Windows 8.1

  1. На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите панель управления.

  2. В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.

  3. Разверните узел Службы IIS, а затем выберите FTP-сервер.

    Примечание

    Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Также необходимо выбрать расширяемость FTP.
    Снимок экрана: служба F T P и расширяемость F T P, выбранные в интерфейсе Windows 8.

  4. Нажмите кнопку ОК.

  5. Щелкните Закрыть.

Windows Server 2008 R2

  1. На панели задач нажмите кнопку Пуск, выберите Администрирование, а затем диспетчер сервера.

  2. В области иерархии диспетчер сервера разверните узел Роли и выберите Веб-сервер (IIS).

  3. На панели Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.

  4. На странице Выбор служб ролеймастера добавления служб ролей разверните узел FTP-сервер.

  5. Выберите Служба FTP.

    Примечание

    Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Также необходимо выбрать расширяемость FTP.
    Снимок экрана: служба F T P и расширяемость F T P, выбранные в интерфейсе Windows Server 2008.

  6. Щелкните Далее.

  7. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.

  8. На странице Результаты нажмите кнопку Закрыть.

Windows 7

  1. На панели задач нажмите кнопку Пуск, а затем панель управления.

  2. В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.

  3. Разверните узел Службы IIS, а затем FTP-сервер.

  4. Выберите Служба FTP.

    Примечание

    Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Также необходимо выбрать расширяемость FTP.
    Снимок экрана: служба F T P и расширяемость F T P, выбранные в интерфейсе Windows 7.

  5. Нажмите кнопку ОК.

Windows Server 2008 или Windows Vista

  1. Скачайте пакет установки по следующему URL-адресу:

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

Инструкции

Включение или отключение анонимной проверки подлинности для FTP-сайта

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения разверните имя сервера, узел Сайты и щелкните имя сайта.

  3. На домашней панели сайта дважды щелкните функцию проверки подлинности FTP .

  4. На странице Проверка подлинности FTP выберите Анонимная проверка подлинности.

  5. В области Действия щелкните Включить , чтобы включить анонимную проверку подлинности, или Отключить , чтобы отключить анонимную проверку подлинности.
    Снимок экрана: отключенная анонимная проверка подлинности на панели проверки подлинности F T P.


Использование мастера ftp-сайтов для создания сайта FTP с анонимным доступом на чтение

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения щелкните узел Сайты в дереве.

  3. Щелкните правой кнопкой мыши узел Сайты в дереве и выберите Команду Добавить FTP-сайт или добавить FTP-сайт на панели Действия .

  4. При отображении мастера добавления сайта FTP :

    • Введите "Мой новый ftp-сайт" в поле Имя ftp-сайта .

    • В поле Физический путь можно указать каталог содержимого одним из следующих вариантов:

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

  5. На второй странице мастера добавления ftp-сайта выполните следующие действия:

    • Выберите IP-адрес для ftp-сайта в раскрывающемся списке IP-адрес или примите значение по умолчанию "Все неназначенные".

    • В поле Порт введите порт TCP/IP для ftp-сайта. По умолчанию ftp-сайты и клиенты используют порт 21. (Примечание. Чтобы указать неявные FTPS, необходимо использовать порт 990.)

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

    • Для параметра SSL выберите один из следующих вариантов:

      • Выберите Нет SSL , чтобы отключить параметры SSL.
      • Выберите Разрешить SSL , чтобы разрешить FTP-клиентам при необходимости использовать FTP по ПРОТОКОЛу SSL при подключении к FTP-серверу.
      • Выберите Требовать SSL , чтобы разрешить клиентам FTP всегда использовать FTP через SSL при подключении к FTP-серверу.
      • При выборе параметра Разрешить SSL или Требовать SSL выберите сертификат в раскрывающемся меню SSL-сертификат .
    • Завершив эти действия, нажмите кнопку Далее.
      Снимок экрана: указанные параметры привязки сайта F T P и SS L.

  6. На следующей странице мастера:

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

Конфигурация

Атрибуты

Атрибут Описание
defaultLogonDomain Необязательный строковый атрибут.

Указывает домен по умолчанию для поиска анонимных учетных записей пользователей.

Значение по умолчанию — NT AUTHORITY.
enabled Необязательный атрибут boolean .

Указывает, включена ли анонимная проверка подлинности.

Значение по умолчанию — false.
logonMethod Необязательный атрибут перечисления.

Указывает тип входа для анонимного пользователя, интерпретируемый API Win32 LogonUser.
Значение Описание
Interactive Указывает тип интерактивного входа в систему.

Числовое значение равно 0.
Batch Указывает тип пакетного входа.

Числовое значение равно 1.
Network Указывает тип сетевого входа.

Числовое значение равно 2.
ClearText Указывает тип входа в систему в виде чистого текста.

Числовое значение равно 3.
Значение по умолчанию — ClearText.
password Необязательный строковый атрибут.

Указывает пароль для учетной записи анонимного пользователя.

Значение по умолчанию отсутствует.
userName Необязательный строковый атрибут.

Указывает имя пользователя для учетной записи анонимного пользователя.

Значение по умолчанию — IUSR.

Дочерние элементы

Отсутствует.

Образец конфигурации

Следующий пример конфигурации отключает анонимную проверку подлинности и включает обычную проверку подлинности по умолчанию.

<siteDefaults>
   <ftpServer>
      <security>
         <authentication>
            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="true" />
         </authentication>
      </security>
   </ftpServer>
</siteDefaults>

Пример кода

В следующих примерах кода отключается анонимная проверка подлинности и по умолчанию включается обычная проверка подлинности.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.authentication.anonymousAuthentication.enabled:"False" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.authentication.basicAuthentication.enabled:"True" /commit:apphost

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
         ConfigurationElement ftpServerElement = siteDefaultsElement.GetChildElement("ftpServer");

         ConfigurationElement securityElement = ftpServerElement.GetChildElement("security");
         ConfigurationElement authenticationElement = securityElement.GetChildElement("authentication");
         ConfigurationElement anonymousAuthenticationElement = authenticationElement.GetChildElement("anonymousAuthentication");
            anonymousAuthenticationElement["enabled"] = false;
         ConfigurationElement basicAuthenticationElement = authenticationElement.GetChildElement("basicAuthentication");
            basicAuthenticationElement["enabled"] = true;
 
           serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
      Dim ftpServerElement As ConfigurationElement = siteDefaultsElement.GetChildElement("ftpServer")

      Dim securityElement As ConfigurationElement = ftpServerElement.GetChildElement("security")
      Dim authenticationElement As ConfigurationElement = securityElement.GetChildElement("authentication")
      Dim anonymousAuthenticationElement As ConfigurationElement = authenticationElement.GetChildElement("anonymousAuthentication")
         anonymousAuthenticationElement("enabled") = False
      Dim basicAuthenticationElement As ConfigurationElement = authenticationElement.GetChildElement("basicAuthentication")
         basicAuthenticationElement("enabled") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer");

var securityElement = ftpServerElement.ChildElements.Item("security");
var authenticationElement = securityElement.ChildElements.Item("authentication");
var anonymousAuthenticationElement = authenticationElement.ChildElements.Item("anonymousAuthentication");
   anonymousAuthenticationElement.Properties.Item("enabled").Value = false;
var basicAuthenticationElement = authenticationElement.ChildElements.Item("basicAuthentication");
   basicAuthenticationElement.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer")

Set securityElement = ftpServerElement.ChildElements.Item("security")
Set authenticationElement = securityElement.ChildElements.Item("authentication")
Set anonymousAuthenticationElement = authenticationElement.ChildElements.Item("anonymousAuthentication")
   anonymousAuthenticationElement.Properties.Item("enabled").Value = False
Set basicAuthenticationElement = authenticationElement.ChildElements.Item("basicAuthentication")
   basicAuthenticationElement.Properties.Item("enabled").Value = true

adminManager.CommitChanges()