Исходный адрес: http://www.iis.net/1026/SinglePageArticle.ashx .
Перевод: Тони Цюй (из группы переводов BluePrint)
Автор: Викас Малхотра
Последнее обновление: вторник, 12 сентября 2006 г., 11:48.
Введение. В предыдущих версиях IIS существовала локальная учетная запись, созданная во время установки, с именем IUSR_MachineName. После включения анонимной проверки подлинности эта учетная запись IUSR_MachineName становится идентификатором, используемым IIS по умолчанию, и используется как в службах FTP, так и в HTTP. Существует также группа IIS_WPG, которая является контейнером для всех учетных записей пула приложений. Во время установки IIS необходимо убедиться, что всем доступным системным ресурсам присвоены соответствующие разрешения для IIS_WPG. Когда администратор создает новую учетную запись пула приложений, вам нужно только добавить новую учетную запись (идентификатор) в эту группу.
Эта модель работает очень хорошо, но, как и любая другая конструкция, у нее есть свои недостатки, главный из которых заключается в том, что учетная запись IUSR_MachineName и группа IIS_WPG являются локальными по отношению к системе, в которой они созданы. Каждая учетная запись или группа в Windows имеет уникальный номер, называемый SID (идентификационный номер безопасности), чтобы ее можно было отличить от других учетных записей или групп. Мы используем SID только для создания ACL. В рамках разработки предыдущих версий IIS мы включили IUSR_MachineName в файл Metabase.xml. Если вы попытаетесь скопировать файл Metabase.xml с одного компьютера на другой, это не сработает сразу, поскольку учетные записи других компьютеров на этом компьютере используют другие. имена. Кроме того, вы не можете просто использовать xcopy /o для копирования ACL, поскольку идентификаторы SID различаются на разных машинах. Одним из обходных путей является использование учетной записи домена, но вам необходимо добавить Active Directory в вашу схему. Группа IIS_WPG также имеет ту же проблему с разрешениями. Если вы установили ACL для группы IIS_WPG в файловой системе одного компьютера, использование xcopy /o для копирования ACL на другой компьютер не удастся. IIS понимает эту проблему и улучшил ее, используя встроенные учетные записи и группы в IIS 7.0.
Встроенные учетные записи и группы гарантируются операционной системой, что гарантирует уникальный SID IIS и гарантирует, что новые имена учетных записей и групп никогда не будут локализованы. Например, независимо от того, какую языковую версию Windows вы устанавливаете, имя учетной записи IIS всегда будет IUSR, а имя группы всегда будет IIS_IUSRS.
Таким образом, в IIS 7.0:
встроенная учетная запись IUSR заменяет учетную запись IUSR_MachineName.
Встроенная группа IIS_IUSRS заменяет группу IIS_WPG.
Поскольку IUSR является встроенной учетной записью, для нее больше не требуется пароль. Логически вы можете думать об этом как об учетной записи NETWORKSERVICE или LOCALSERVICE. Учетная запись IUSR и группа IIS_IUSRS будут подробно описаны в следующих главах.
Общие сведения о новой учетной записи IUSR Как упоминалось выше, учетная запись IUSR заменит учетную запись IUSR_MachineName в IIS 7.0. Учетная запись IUSR_MachineName будет создана и использоваться только при установке FTP-сервера. Если FTP не установлен, учетная запись никогда не будет создана.
Эта встроенная учетная запись не требует пароля и будет использоваться в качестве удостоверения пользователя по умолчанию, когда включена анонимная проверка подлинности. Если вы посмотрите файл applicationHost.config, вы найдете следующее определение:
<anonymousAuthentication Enable="true" userName="IUSR" defaultLogonDomain="" />
Это указывает IIS использовать новую встроенную учетную запись для всех анонимных запросов аутентификации. Большим преимуществом этого является то, что теперь мы можем:
* Устанавливать разрешения файловой системы для IUSR с помощью проводника Windows или многих других инструментов командной строки.
* Не нужно беспокоиться об истечении срока действия пароля этой учетной записи.
* Используйте xcopy /o для беспрепятственного копирования файлов, их владельцев и информации ACL на разные машины.
Важно отметить, что учетная запись IUSR очень похожа на учетную запись LOCALSERVICE в том смысле, что она работает анонимно в сети. NETWORKSERVICE и LOCALSYSTEM могут работать как машина, а IUSR — нет, поскольку это привилегированная акция. Если вы хотите иметь анонимную учетную запись с доступом к сети, вам нужно будет создать новую учетную запись пользователя и установить имя пользователя и пароль вручную, так же, как вы ранее настраивали анонимную аутентификацию. Чтобы добиться этого в диспетчере IIS, вы можете:
* Нажмите кнопку «Пуск», введите «INetMgr.exe» и нажмите Enter (если появится всплывающее окно с подсказкой, нажмите «Продолжить», чтобы повысить разрешения).
* Нажмите кнопку «+» рядом с именем машины в Connection.
* Дважды щелкните сайт, которым хотите управлять, в диспетчере IIS.
* Дважды щелкните элемент «Аутентификация» под заголовком «Имя функции».
* Выберите «Анонимная аутентификация», нажмите «Изменить» под заголовком задачи справа, после чего появится диалоговое окно «Укажите учетные данные».
* Нажмите на опцию «Конкретный пользователь», а затем нажмите кнопку «Установить».
* Введите желаемое имя пользователя и пароль и нажмите OK,
чтобы понять новую группу IIS_IUSRS. Как упоминалось ранее, группа IIS_IUSRS используется для замены группы IIS_WPG. У нее уже есть права доступа ко всем файлам и системным ресурсам, поэтому, если учетная запись будет добавлена в группу, и она будет работать как удостоверение пула приложений.
Поскольку эта встроенная группа работает со встроенными учетными записями, она может решить несколько проблем с развертыванием xcopy. Если вы установите разрешения для IIS_WPG для файлов (это возможно в IIS6) и попытаетесь скопировать эти файлы в другую систему Windows, настройки сайта могут быть повреждены, поскольку групповой SID различен на разных компьютерах.
В IIS7, поскольку групповой SID одинаков во всех системах Longhorn. Использование «xcopy /o» сохраняет ACL и информацию о владельце при перемещении файлов с одного компьютера на другой, что значительно упрощает развертывание xcopy!
Второй запрос от клиентов: «После того, как мы настроим удостоверение пула приложений, нам понадобится IIS, чтобы внести за нас все необходимые изменения». Мы приняли этот комментарий и еще больше упростили этот процесс в IIS7.0. Когда IIS запускает рабочий процесс, ему необходимо создать токен для использования этим процессом. Теперь, когда мы создадим этот токен, IIS автоматически добавит членство IIS_IUSRS к токену рабочего процесса во время выполнения. Это позволит учетной записи работать как пул приложений, не будучи явно частью группы IIS_IUSRS. Мы считаем, что это изменение поможет вам упростить настройку системы и улучшить общее впечатление от нее.
Если вы хотите отключить эту функцию и вручную добавлять учетные записи в группу IIS_IUSRS, вы можете использовать эту функцию, только установив для параметра manualGroupMembership значение true. Вот пример того, как настроить defaultAppPool для отключения этой функции:
<applicationPools>
<add name="DefaultAppPool">
<processModel manualGroupMembership="true" />
</добавить>
</Пулы приложений>