Обзор разрешений IIS7 - ApplicationPoolIdentity

Недавно мы обновили до IIS7 в качестве основного веб-сервера, и мне нужен обзор с точки зрения разрешений. Раньше, когда мне нужно было писать в файловую систему, я бы предоставил пользователю AppPool (Network Service) доступ к каталогу или файлу.

В IIS7 я вижу, что по умолчанию для пользователя AppPool установлено значение ApplicationPoolIdentity. Поэтому, когда я проверяю диспетчер задач, я вижу, что учетная запись пользователя под названием "WebSite.com" запускает процесс IIS ( "Website.com" - имя веб-сайта в IIS)

Однако эта учетная запись пользователя не существует, если я пытаюсь использовать ее для предоставления разрешений. Итак, как я могу определить, какой пользователь должен предоставить разрешения?

Изменить ============================================================================================ ================================

См. ниже проблему при съемке экрана. Наш сайт (www.silverchip.co.uk) работает на имя пользователя SilverChip.co.uk. Однако, когда я добавляю pemissions, этот пользователь doenst существует!

enter image description here

=================== =

enter image description here

Ответ 1

ApplicationPoolIdentity на самом деле является лучшей практикой для использования в IIS7. Это динамически созданная непривилегированная учетная запись. Чтобы добавить защиту файловой системы для определенного пула приложений, см. IIS.net "Идентификаторы пула приложений". Быстрая версия:

Если пул приложений называется "DefaultAppPool" (просто замените этот текст ниже, если он назван по-другому)

  1. Откройте проводник Windows
  2. Выберите файл или каталог.
  3. Щелкните правой кнопкой мыши файл и выберите "Свойства"
  4. Выберите вкладку "Безопасность"
  5. Нажмите кнопку "Изменить", а затем кнопку "Добавить"
  6. Нажмите кнопку "Locations" и убедитесь, что вы выбрали локальный компьютер. (Не домен Windows, если сервер принадлежит одному.)
  7. Введите " IIS AppPool\DefaultAppPool " в текстовом поле "Введите имена объектов для выбора:". (Не забудьте изменить здесь "DefaultAppPool" на пул приложений, который вы назвали.)
  8. Нажмите кнопку "Проверить имена" и нажмите "ОК".

Ответ 2

Не забудьте использовать локальное имя сервера, а не имя домена, при разрешении имени

IIS AppPool\DefaultAppPool

(просто напоминание, потому что это меня немного сбило с толку): enter image description here

Ответ 3

В Windows Server 2008 (r2) вы не можете назначить идентификатор пула приложений в папку через Properties- > Security. Вы можете сделать это через командную строку администратора, используя следующее:

icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)

Ответ 4

Предоставление доступа к пользователю IIS AppPool\YourAppPoolName может быть недостаточно для стандартных конфигураций IIS.

В моем случае у меня все еще была ошибка HTTP Error 401.3 - Неавторизовано после добавления пользователя AppPool, и это было исправлено только после добавления разрешений пользователю IUSR.

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

authentication tab

Кредиты к этому ответу: Ошибка HTTP 401.3 - Несанкционированный

Ответ 5

Вверх Отвечать от Джона Адамса

Вот как это реализовать для пользователей PowerShell

$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl

Ответ 6

Часть A: Настройка пула приложений

Предположим, что пул приложений называется "MyPool". Перейдите в "Дополнительные параметры" пула приложений из диспетчера IIS.

  1. Прокрутите вниз до "Идентичность". Попытка отредактировать значение вызовет диалоговое окно. Выберите "Встроенная учетная запись" и под ней выберите "ApplicationPoolIdentity".

  2. Несколько строк ниже "Идентичность", вы должны найти "Загрузить профиль пользователя". Это значение должно быть установлено на "True".

Часть B: Настройка вашего сайта

  1. Название сайта: SiteName (только пример)
  2. Физический путь: C:\Независимо (только пример)
  3. Подключиться как...: пользователь приложения (сквозная аутентификация) (вышеуказанные настройки можно найти в разделе "Основные настройки" сайта в диспетчере IIS)
  4. После настройки основных параметров найдите конфигурацию "Аутентификация" в разделе "IIS" на главной консоли сайта. Открой это. Вы должны увидеть опцию "Анонимная аутентификация". Убедитесь, что он включен. Затем щелкните правой кнопкой мыши и "Изменить...". Выберите "Идентификация пула приложений".

Часть C: Настройка вашей папки

Папка, о которой идет речь, это C:\Wh независимо

  1. Перейдите в Свойства - Общий доступ - Расширенный общий доступ - Разрешения и установите флажок "Поделиться этой папкой"
  2. В том же диалоговом окне вы найдете кнопку "Разрешения". Нажмите на это.
  3. Откроется новое диалоговое окно. Нажмите "Добавить".
  4. Откроется новое диалоговое окно "Выбор пользователей или групп". В разделе "Из этого местоположения" убедитесь, что имя совпадает с именем вашего локального хост-компьютера. Затем в разделе "Введите имена объектов" введите "IIS AppPool\MyPool", нажмите "Проверить имена", а затем "ОК".
  5. Предоставьте пользователю "MyPool" полные права на совместное использование. Примените его и закройте свойства папки
  6. Снова откройте свойства папки. На этот раз перейдите в Безопасность - Дополнительно - Разрешение и нажмите Добавить. Там будет опция "Выбрать принципала" вверху или какой-то другой вариант, чтобы выбрать пользователя. Нажмите на это.
  7. Диалоговое окно "Выбор пользователей или групп" откроется снова. Повторите шаг 4.
  8. Предоставьте пользователю MyPool все или столько разрешений, сколько вам нужно.
  9. Установите флажок "Заменить все разрешения дочернего объекта...", а также "Применить и закрыть".

Теперь вы должны иметь возможность использовать просмотр веб-сайта

Ответ 7

Чтобы добавить к путанице, диалоговое окно "Эффективные разрешения" (Windows Explorer) не работает для этих логинов. У меня есть сайт "Umbo4", использующий сквозную аутентификацию, и посмотрел на пользователя "Эффективные разрешения" в корневой папке сайта. Тест Check Names разрешил имя "IIS AppPool\Umbo4", но "Эффективные разрешения" показывают, что у пользователя вообще не было прав в папке (все флажки сняты).

Я исключил этого пользователя из папки явно, используя вкладку "Безопасность проводника". Это привело к сбою сайта с ошибкой HTTP 500.19, как и ожидалось. Эффективные разрешения, однако, выглядели точно так же, как и раньше.

Ответ 8

Я исправил все мои проблемы asp.net, просто создав нового пользователя с именем IUSER с паролем и добавив его в сетевую службу и группы пользователей. Затем создайте все свои виртуальные сайты и приложения, установив аутентификацию в IUSER с его паролем.. установите доступ к файлу высокого уровня, чтобы включить IUSER и BAM, он исправил по крайней мере 3-4 проблемы, включая этот.

Дейв