Разрешения IIS_IUSRS и IUSR в IIS8

Я только что отошел от IIS6 на Win2003 до IIS8 на Win2012 для размещения приложений ASP.NET.

В одной конкретной папке в моем приложении мне нужно создать и удалить файлы. После копирования файлов на новый сервер я продолжал видеть следующие ошибки при попытке удалить файлы:

Доступ к пути «D: \ WebSites \ myapp.co.uk \ companydata \ filename.pdf» отклонен.

Когда я проверяю IIS, я вижу, что приложение работает под учетной записью DefaultAppPool, однако я никогда не устанавливал разрешения Windows для этой папки, чтобы включить IIS AppPool \ DefaultAppPool

Вместо этого, чтобы перестать кричать клиентам, я предоставил следующие разрешения для папки:

IUSR

  • Чтение и выполнение
  • Список содержимого папки
  • Читать
  • Написать

IIS_IUSRS

  • изменять
  • Чтение и выполнение
  • Список содержимого папки
  • Читать
  • Написать

Это, похоже, сработало, но я обеспокоен тем, что было установлено слишком много привилегий. Я читал противоречивую информацию в Интернете о том, действительно ли IUSR нужен вообще. Может ли кто-нибудь уточнить, какие пользователи / разрешения будут достаточными для создания и удаления документов в этой папке? Кроме того, IUSR входит в группу IIS_IUSRS?

Обновление и решение

См. Мой ответ ниже . Я должен был сделать это грустно, поскольку некоторые недавние предложения не были хорошо продуманы или даже безопасны (ИМО).

Мне не нравится публиковать свой собственный ответ, но некоторые ответы в последнее время проигнорировали решение, которое я опубликовал в своем собственном вопросе, предлагая подходы, которые не что иное, как безрассудно.

Короче говоря, вам не нужно редактировать какие-либо привилегии учетной записи пользователя Windows вообще . Это приводит только к риску. Процесс полностью управляется в IIS с использованием унаследованных привилегий.

Применение разрешений Modify / Write для правильной учетной записи пользователя

  1. Щелкните правой кнопкой мыши домен, когда он появится в списке «Сайты», и выберите « Редактировать разрешения»

    введите описание изображения здесь

    На вкладке « Безопасность » вы увидите MACHINE_NAME\IIS_IUSRS . Это означает, что IIS автоматически имеет доступ только для чтения в каталоге (например, для запуска ASP.Net на сайте). Вам не нужно редактировать эту запись .

    введите описание изображения здесь

  2. Нажмите кнопку « Изменить» , затем « Добавить» …

  3. В текстовом поле введите IIS AppPool\MyApplicationPoolName , заменив MyApplicationPoolName на ваше доменное имя, например IIS AppPool\mydomain.com

    введите описание изображения здесь

  4. Нажмите кнопку « Проверить имена» . Текст, который вы набрали, изменится (обратите внимание на подчеркивание):

    введите описание изображения здесь

  5. Нажмите OK, чтобы добавить пользователя

  6. При выборе нового пользователя (вашего домена) теперь вы можете безопасно предоставлять любые разрешения на изменение или запись

    введите описание изображения здесь

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

Однако со временем возникла проблема, так как все больше и больше системных служб Windows начали запускаться как NETWORKSERVICE. Это связано с тем, что службы, работающие под управлением NETWORKSERVICE, могут вмешиваться в другие службы, которые работают под одинаковой идентификацией. Поскольку по умолчанию рабочие процессы IIS запускают сторонний код (classический ASP, ASP.NET, код PHP), настало время изолировать рабочие процессы IIS от других системных служб Windows и запускать рабочие процессы IIS под уникальными идентификаторами. Операционная система Windows предоставляет функцию «Виртуальные учетные записи», которая позволяет IIS создавать уникальные идентификаторы для каждого из своих пулов приложений. DefaultAppPool – это пул по умолчанию, который назначается для всего пула приложений, который вы создаете.

Чтобы сделать его более безопасным, вы можете изменить идентификатор IA DefaultAppPool Identity на ApplicationPoolIdentity.

Что касается разрешения, Create and Delete суммирует все права, которые могут быть предоставлены. Поэтому все, что вы назначили группе IIS_USERS, это то, что они потребуют. Ни больше ни меньше.

надеюсь это поможет.

Когда я добавил, что разрешение IIS_IUSRS на ресурсы папки сайта, такие как js и css, все еще было недоступным (ошибка 401, запрещена). Однако, когда я добавил IUSR – это стало нормально. Так что «вы НЕ МОЖЕТЕ удалить разрешения для IUSR, не беспокоясь», дорогой @Travis G @

@EvilDr Вы можете создать учетную запись IUSR_ [идентификатор] в своей среде AD и разрешить конкретному пулу приложений работать под учетной записью IUSR_ [идентификатор]:

«Пул приложений»> «Дополнительные настройки»> «Идентификация»> «Пользовательская учетная запись»,

Настройте свой веб-сайт на «Applicaton user (сквозная аутентификация)», а не «Конкретный пользователь» в дополнительных настройках.

Теперь дайте IUSR_ [identifier] соответствующие разрешения NTFS для файлов и папок, например: modify on companydata.

Я бы использовал конкретного пользователя (и НЕ-пользователя приложения). Затем я включу олицетворение в приложении. После того, как вы сделаете все, что установлено в качестве конкретного пользователя, эти учетные данные будут использоваться для доступа к локальным ресурсам на этом сервере (не для внешних ресурсов).

Конкретный пользовательский параметр специально предназначен для доступа к локальным ресурсам.

Группа IIS_IUSRS имеет известность только в том случае, если вы используете ApplicationPool Identity. Несмотря на то, что эта группа выглядит пустой во время выполнения, IIS добавляет эту группу для запуска рабочего процесса в соответствии с литературой Microsoft.

Разрешения IIS_IUser более чем достаточно для создания или удаления файлов. Нет необходимости в разрешении IUser. Я даю это разрешение для более чем 20 папок. Я также ищу альтернативный способ сделать это. Предложите мне, доступен ли какой-либо вариант

  • Последнее обновление по включению и отключению мобильных данных программно
  • SYSTEM_ALERT_WINDOW - как получить это разрешение автоматически на Android 6.0 и targetSdkVersion 23
  • Как я могу получить страшные разрешения WRITE_SECURE_SETTINGS для моего приложения для Android?
  • Обзор разрешений IIS7 - ApplicationPoolIdentity
  • Разрешение перегрузки C ++
  • Веб-просмотр Android: загрузка файлов, таких как браузеры
  • Как использовать пользовательские разрешения в Android?
  • Разрешения на доступ к файлам IIS AppPoolIdentity и файловой системы
  • Окно оверлей системы Android
  • Разрешение отказа: для этого требуется андроид.permission.INTERACT_ACROSS_USERS_FULL
  • npm ошибки установки с ошибкой: ENOENT, chmod
  • Давайте будем гением компьютера.