Разрешения папки IIS7 для веб-приложения


91

Я использую проверку подлинности Windows без олицетворения на веб-сайте интрасети моей компании с IIS7.

Какая учетная запись используется в IIS7 для доступа к папке, содержащей мое веб-приложение, с использованием этих параметров?

Будет ли это IIS_IUSRS? Или СЕТЕВОЙ СЕРВИС? Или о другом, о котором я не знаю?


Ответы:


127

В IIS 7 (не IIS 7.5) сайты получают доступ к файлам и папкам на основе учетной записи, установленной в пуле приложений для сайта. По умолчанию в IIS7 это учетная запись NETWORK SERVICE.

Укажите идентификатор для пула приложений (IIS 7)

В IIS 7.5 (Windows 2008 R2 и Windows 7) пулы приложений запускаются под ApplicationPoolIdentity, который создается при запуске пула приложений. Если вы хотите установить ACLS для этой учетной записи, вам нужно выбрать IIS AppPool\ApplicationPoolNameвместо NT Authority\Network Service.


35
Обратите внимание, что это не буквально IIS AppPool\ApplicationPoolName, но IIS AppPool\<yourpoolname>.
Джефф С.

21
В IIS 7.5 удостоверение по умолчанию для пула приложений - ApplicationPoolIdentity. ApplicationPoolIdentity представляет учетную запись пользователя Windows под названием «IIS APPPOOL \ AppPoolName», которая создается при создании пула приложений, где AppPoolName - это имя пула приложений. Пользователь «IIS APPPOOL \ [AppPoolName]» по умолчанию является членом группы IIS_IUSRS. Поэтому вам необходимо предоставить доступ на запись группе
IIS_IUSRS

Пользователи более поздних версий Windows могут найти эту статью полезной для настройки учетной записи «AppPool \ DefaultAppPool», если у них есть аналогичная проблема: iis.net/learn/manage/configuring-security/… . Это также помогает избежать ошибки, которую я получил после обновления с Windows 8 до 8.1, где говорится: «Произошла ошибка при загрузке файла конфигурации: не удалось начать мониторинг изменений в [полный путь к файлу], потому что доступ запрещен».
Мэтти Дж.

Я дал полное разрешение пулу приложений ... но все еще получаю отказ в доступе.
Юси

26

http://forums.iis.net/t/1187650.aspx есть ответ. Установка аутентификации iis для идентификации пула приложений решит эту проблему.

При проверке подлинности IIS для анонимной проверки подлинности было установлено значение «Определенный пользователь». Когда я изменил его на Application Pool, я могу получить доступ к сайту.

Чтобы установить, щелкните свой веб-сайт в IIS и дважды щелкните «Аутентификация». Щелкните правой кнопкой мыши «Анонимная проверка подлинности» и выберите «Изменить ...». Переключитесь с «Конкретного пользователя» на «Удостоверение пула приложений». Теперь у вас должна быть возможность устанавливать разрешения для файлов и папок с помощью IIS AppPool \ {Your App Pool Name}.


3
Это очень помогло. Если вы не измените анонимную аутентификацию с «Определенного пользователя» на «Удостоверение пула приложений», изменения ваших разрешений не отразятся при установке разрешений IIS AppPool \ {Имя вашего пула приложений}.
Дэвид

БОЖЕ МОЙ. Похоже, никто этого не понимает. Это просто решило часы копания.
Джо

19

Запустив IIS 7.5, мне удалось добавить разрешения для пользователя локального компьютера IUSR . Пользователь пула приложений не работал.


18

Если это кому-то поможет, дайте разрешение группе «IIS_IUSRS».

Обратите внимание: если вы не можете найти «IIS_IUSRS», попробуйте добавить к нему имя вашего сервера, например «MySexyServer \ IIS_IUSRS».


Это сделало это для меня. Мне не хватало имени сервера, и я еще не видел, чтобы кто-нибудь об этом упоминал.
drichardson 06

Для этого вы всегда можете использовать локальную нотацию ". \ IIS_IUSRS"
Бернхард

3

Сработало у меня за 30 секунд, коротко и мило:

  1. В диспетчере IIS (запустите inetmgr)
  2. Перейдите в ApplicationPool -> Дополнительные настройки
  3. Установите ApplicationPoolIdentity на NetworkService
  4. Перейдите к файлу, щелкните правой кнопкой мыши свойства, перейдите к безопасности, щелкните редактировать, щелкните добавить, введите сетевую службу (с пробелом, затем щелкните `` проверить имена '') и предоставьте полный контроль (или просто любые разрешения, которые вам нужны)

Вот и все! Спасибо
Язан Халайле

1
  1. Работая над IIS 7.5 и Windows 7, я не мог дать разрешение APPPOOL / Mypool
  2. Разрешения IUSR и IIS_IUSRS не работают у меня
  3. У меня возникла такая проблема:

    -Создано консольное приложение на C #
    -Это приложение с использованием createeventsource, как это

    если (! System.Diagnostics.EventLog.SourceExists (имя_источника)) System.Diagnostics.EventLog.CreateEventSource (имя_источника, имя_журнала);

    -Соберите решение и получите файл .exe

    -Запустите exe от имени администратора. Это создаст файл журнала.

ПРИМЕЧАНИЕ. Не помните, что для просмотра журнала необходимо обновить средство просмотра событий.

Надеюсь, это решение кому-то поможет :)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.