Недавно мы обновились до IIS7 в качестве основного веб-сервера, и мне нужен обзор с точки зрения разрешений. Ранее при необходимости записи в файловую систему я бы предоставлял пользователю AppPool (сетевая служба) доступ к каталогу или файлу.
В IIS7 я вижу, по умолчанию, пользователь AppPool установлен на ApplicationPoolIdentity
. Поэтому, когда я проверяю диспетчер задач, я вижу, что в учетной записи пользователя с именем «WebSite.com» выполняется процесс IIS («Website.com» - это имя веб-сайта в IIS).
Однако эта учетная запись пользователя не существует, если я пытаюсь использовать ее для предоставления разрешений. Итак, как мне определить, для какого пользователя тоже нужно предоставить разрешения?
Изменить ======================================================= =============================
Ниже приведена информация о проблеме на снимке экрана. Наш веб-сайт (www.silverchip.co.uk) работает под именем пользователя SilverChip.co.uk. Однако, когда я добавляю разрешения, этот пользователь не существует!
================================= См. Изображение AppPool
источник
Ответы:
ApplicationPoolIdentity на самом деле является лучшей практикой для использования в IIS7 +. Это динамически созданная непривилегированная учетная запись. Чтобы добавить защиту файловой системы для определенного пула приложений, см. Раздел «IIS.net Identity» . Быстрая версия:
Если пул приложений называется «DefaultAppPool» (просто замените этот текст ниже, если он назван по-другому)
источник
IIS AppPool\silverchip.co.uk
. Хотя я не пробовал точки в именах безопасности - вы можете изменить их на что-то без знаков препинания.enable load user profile
дляtrue
в настройках пула приложений. И только после этой настройки я смог запустить приложение. Поэтому, пожалуйста, обновите ваши инструкции и добавьте 9-й пункт.Не забудьте использовать локальное имя сервера, а не имя домена, при разрешении имени
(просто напоминание, потому что это меня немного сбило с толку):
источник
Предоставление доступа к IIS AppPool \ YourAppPoolName пользователю может быть не достаточно с конфигурациями IIS по умолчанию.
В моем случае у меня все еще была ошибка HTTP Error 401.3 - Неавторизовано после добавления пользователя AppPool, и это было исправлено только после добавления разрешений пользователю IUSR .
Это необходимо, поскольку по умолчанию анонимный доступ осуществляется с использованием IUSR . Вы можете установить другого конкретного пользователя, пул приложений или продолжить использование IUSR, но не забудьте установить соответствующие разрешения.
Кредиты на этот ответ: Ошибка HTTP 401.3 - Несанкционированный
источник
В Windows Server 2008 (r2) вы не можете назначить удостоверение пула приложений для папки через Свойства-> Безопасность. Вы можете сделать это через командную строку администратора, используя следующее:
источник
Часть A: Настройка вашего пула приложений
Предположим, что пул приложений называется «MyPool». Перейдите в «Дополнительные настройки» пула приложений из диспетчера IIS.
Прокрутите вниз до «Идентичность». Попытка изменить значение вызовет диалоговое окно. Выберите «Встроенная учетная запись» и под ней выберите «ApplicationPoolIdentity».
Несколько строк ниже «Идентичность», вы должны найти «Загрузить профиль пользователя». Это значение должно быть установлено на «True».
Часть B: Настройка вашего сайта
Часть C: Настройка вашей папки
Обсуждаемая папка - C: \
Теперь вы должны иметь возможность использовать просмотр веб-сайта
источник
Топ Ответ от Джона Адамса
Вот как реализовать это для людей PowerShell
источник
Просто чтобы добавить к путанице, диалоговое окно «Эффективные разрешения» (Windows Explorer) не работает для этих имен входа. У меня есть сайт "Umbo4", использующий сквозную аутентификацию, и я посмотрел на Действующие разрешения пользователя в корневой папке сайта. Тест «Проверка имен» разрешил имя «IIS AppPool \ Umbo4», но «Действующие разрешения» показывают, что у пользователя вообще не было разрешений для папки (все флажки сняты).
Затем я явно исключил этого пользователя из папки, используя вкладку «Безопасность». Это привело к сбою сайта с ошибкой HTTP 500.19, как и ожидалось. Однако действующие разрешения выглядели точно так же, как и раньше.
источник
Я исправил все свои проблемы с asp.net, просто создав нового пользователя с именем IUSER с паролем и добавив в него сетевую службу и группы пользователей. Затем создайте все свои виртуальные сайты и приложения, установите для аутентификации IUSER с его паролем ... установите высокоуровневый доступ к файлу, чтобы включить IUSER и BAM, исправлено не менее 3-4 проблем, включая этот.
Дейв
источник