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

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

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

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

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

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

enter image description here

=================================См. AppPool Image

enter image description here

8 ответов


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

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

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

Не забудьте использовать локальное имя сервера, а не доменное имя, при разрешении имени "IIS AppPool\DefaultAppPool" (просто напоминание, потому что это меня немного зацепило):enter image description here


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

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

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

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

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

authentication tab

кредиты на такой ответ: ошибка HTTP 401.3-несанкционированный


верхний ответ от Джона Адамса

вот как реализовать это для людей 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

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

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


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

Дэйв


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

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

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

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

часть B: настройка вашего сайта

  1. имя веб-сайта: SiteName (просто пример)
  2. физический путь: C:\Whatever (просто пример)
  3. подключиться... : Пользователь приложения (сквозная аутентификация) (Вышеуказанные настройки можно найти в разделе "Основные настройки" сайта в Диспетчере IIS)
  4. после настройки основных параметров найдите "аутентификация" конфигурация в разделе " IIS " в главной консоли сайта. Открыть его. Вы должны увидеть опцию "анонимная аутентификация". Убедитесь, что он включен. Щелкните правой кнопкой мыши и редактировать...' он. Выберите "Удостоверение Пула Приложений".

часть C: настройка папки

рассматриваемая папка C:\Whatever

  1. перейти к свойствам-совместное использование-расширенный доступ-разрешения, и отметьте "поделиться этой папкой"
  2. в то же диалоговое окно, вы найдете кнопку "разрешения". Щелкнуть его.
  3. откроется новое диалоговое окно. Нажмите Кнопку "Добавить".
  4. откроется новое диалоговое окно "Выбор пользователей или групп". В разделе "из этого места" убедитесь, что имя совпадает с именем вашего локального хост-компьютера. Затем в разделе "введите имена объектов "введите" IIS AppPool\MyPool "и нажмите " Проверить имена", а затем "Ok"
  5. дайте полный доступ к разрешениям для пользователя "MyPool". Примените его и закройте папку свойства
  6. снова откройте Свойства папки. На этот раз перейдите в Security - Advanced - Permission и нажмите кнопку Добавить. Там будет опция "выбрать принципала" в верхней части, или какой-то другой вариант, чтобы выбрать пользователя. Щелкнуть его.
  7. диалоговое окно "Выбор пользователей или групп" откроется снова. Повторите шаг 4.
  8. дать все разрешения, необходимые для MyPool пользователя.
  9. Check ' заменить все разрешения дочерних объектов..."и применить и закрыть.

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