Подтвердить что ты не робот

Как предоставить разрешение ASP.NET для записи в папку в Windows 7?

У меня новая рабочая станция Win7, и я пытаюсь запустить ScrewTurn Wiki на машине. Моя установка STW использует параметр файловой системы для хранения своих данных, и поэтому мне нужно предоставить разрешения на запись для рабочего процесса ASP.NET в папке, на которой установлен веб-сайт.

ОДНАКО, я, похоже, не могу придумать имя рабочего процесса в Win7, чтобы добавить его в разрешения для этой папки. В XP это был ASPNET_WP, если я правильно помню, но это не его имя в Win7.

Может кто-нибудь скажет мне?

Отредактировано для добавления:

В ответ на @Dragan_Radivojevic, вот что выглядит пул приложений (с именем ScrewTurnWiki):

IIS7 Application Pools

Идентичность - это "ApplicationPoolIdentity"

4b9b3361

Ответ 1

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

Если вы используете II7 (и, как я полагаю, вы это делаете), выполните следующие действия.

  • Откройте IIS7
  • Выберите сайт, для которого вам необходимо изменить разрешения.
  • Перейдите в "Основные настройки" и узнайте, какой пул приложений вы используете.
  • Перейдите в пулы приложений и найдите пул приложений из # 3
  • Найти системную учетную запись, используемую для запуска этого пула приложений (столбец идентификаторов)
  • Перейдите в папку хранения в IIS, выберите ее и нажмите "Разрешить правки" (в подменю "Действия" справа).
  • Откройте вкладку "Безопасность" и добавьте необходимые разрешения только для пользователя, которого вы указали в # 3

Примечание # 1: если вы видите ApplicationPoolIdentity в # 3, вам необходимо обратиться к этому системному пользователю, как этот IIS AppPool {application_pool_name}. Например, IIS AppPool\DefaultAppPool

Примечание №2: при добавлении этого пользователя не забудьте установить правильные местоположения в диалоговом окне "Выбор пользователей или групп". Это нужно установить на локальный компьютер, потому что это локальная учетная запись.

Ответ 2

Я знаю, что это старый поток, но для дальнейшего расширения ответа здесь, по умолчанию IIS 7.5 создает учетные записи идентификации пула приложений для запуска рабочего процесса. Вы не можете искать эти учетные записи, например обычные учетные записи пользователей, при добавлении прав доступа к файлам. Чтобы добавить их в список ACL разрешений NTFS, вы можете ввести полное имя идентификатора пула приложений, и оно будет работать.

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

Также имя пользователя идентификатора пула приложений "IIS AppPool\имя пула приложений", поэтому, если это пул приложений DefaultAppPool, учетной записью пользователя будет "IIS AppPool\DefaultAppPool".

Это можно увидеть, если вы откроете управление компьютером и посмотрите на членов локальной группы IIS_IUSRS. SID, добавленный к концу, не нужен при добавлении учетной записи в ACL разрешения NTFS.

Надеюсь, что поможет

Ответ 3

Мое немедленное решение (так как я не смог найти рабочий процесс ASP.NET) должен был предоставить разрешение на запись (то есть, Изменить) на IIS_IUSRS. Это сработало. Я, кажется, помню, что в WinXP мне пришлось специально дать письменному разрешению рабочего процесса ASP.NET для этого. Может быть, моя память неисправна, но в любом случае...

@DraganRadivojevic писал, что он считает, что это опасно с точки зрения безопасности. Я не согласен, но поскольку это была моя рабочая станция, а не сетевой сервер, она выглядела относительно безопасной. В любом случае, его ответ лучше, и это то, на чем я, наконец, остановился после того, как преследовал путь неудачи из-за того, что не указал правильный домен для пользователя AppPool.