Как предоставить разрешение ASP.NET для записи в папку в Windows 7?
У меня новая рабочая станция Win7, и я пытаюсь запустить ScrewTurn Wiki на машине. Моя установка STW использует параметр файловой системы для хранения своих данных, и поэтому мне нужно предоставить разрешения на запись в рабочий процесс ASP.NET в папке, на которой установлен веб-сайт.
ОДНАКО, я, похоже, не могу придумать имя рабочего процесса в Win7, чтобы добавить его в разрешения для этой папки. В XP это был ASPNET_WP, если я правильно помню, но это не его имя в Win7.
Может кто-нибудь, пожалуйста, скажите мне?
- ASP.NET MVC Routing - добавление расширения .html к маршрутам
- Как защитить статические файлы с помощью аутентификации формы ASP.NET в IIS 7.5?
- Пользовательский интерфейс IISExpress
- Сеансы Asp.net, пересекающиеся / смешанные
- Запретить IIS обслуживать статические файлы через конвейер ASP.NET
Отредактировано для добавления:
В ответ на @Dragan_Radivojevic, вот что выглядит пул приложений (с именем ScrewTurnWiki):
Идентификация – «ApplicationPoolIdentity»
- Как включить HTTP PUT и DELETE для ASP.NET MVC в IIS?
- Фиксирование медленной начальной нагрузки для IIS
- Как установить правильные разрешения для файла ASP.NET для IIS
- Сжатие GZip В IIS 7.5 не работает
- Приложение IIS с использованием идентификатора пула приложений теряет основной токен?
- Разрешения на доступ к файлам IIS AppPoolIdentity и файловой системы
- Подробное сообщение об ошибке 500, ASP + IIS 7.5
- Ошибка HTTP 404.3-Не найден в IIS 7.5
Предоставление полномочий на запись всем группам IIS_USRS является плохой идеей с точки зрения безопасности. Вам не нужно это делать, и вы можете предоставить разрешения только для пользователя системы, запускающего пул приложений.
Если вы используете II7 (и я думаю, что вы это делаете), выполните следующие действия.
- Открыть IIS7
- Выберите сайт, для которого вам необходимо изменить разрешения
- Перейдите в «Основные настройки» и узнайте, какой пул приложений вы используете.
- Перейдите в Пулы приложений и найдите пул приложений из # 3
- Найдите системную учетную запись, используемую для запуска этого пула приложений (столбец идентификатора)
- Перейдите в папку хранилища в IIS, выберите ее и нажмите «Разрешить прав» (в подменю «Действия» справа)
- Откройте вкладку «Безопасность» и добавьте необходимые разрешения только для пользователя, которого вы указали в # 3
Примечание # 1: если вы видите ApplicationPoolIdentity в # 3, вам нужно обратиться к этому системному пользователю, как этот IIS AppPool {application_pool_name}. Например, IIS AppPool \ DefaultAppPool
Примечание # 2: при добавлении этого пользователя не забудьте установить правильные местоположения в диалоговом окне «Выбор пользователей или групп». Это нужно установить на локальный компьютер, потому что это локальная учетная запись.
Я знаю, что это старый stream, но для дальнейшего расширения ответа здесь, по умолчанию IIS 7.5 создает учетные записи идентификации пула приложений для запуска рабочего процесса. Вы не можете искать эти учетные записи, например обычные учетные записи пользователей, при добавлении прав доступа к файлам. Чтобы добавить их в ACL-разрешение ACL, вы можете ввести полное имя идентификатора пула приложений, и оно будет работать.
Это лишь небольшая разница в том, как обрабатываются учетные записи идентификаторов пула приложений, поскольку они считаются виртуальными учетными записями.
Также имя пользователя идентификатора пула приложений «IIS AppPool \ имя пула приложений», поэтому, если это пул приложений DefaultAppPool, учетной записью пользователя будет «IIS AppPool \ DefaultAppPool».
Это можно увидеть, если вы откроете управление компьютером и посмотрите на членов локальной группы IIS_IUSRS. SID, добавленный к концу, не нужен при добавлении учетной записи в ACL разрешения NTFS.
надеюсь, это поможет
Мое немедленное решение (так как я не смог найти рабочий процесс ASP.NET) заключалось в том, чтобы дать разрешение на запись (то есть, Изменить) на IIS_IUSRS. Это сработало. Я, кажется, помню, что в WinXP мне пришлось специально дать письменному разрешению рабочего процесса ASP.NET для этого. Может быть, моя память неисправна, но в любом случае …
@DraganRadivojevic писал, что он считает, что это опасно с точки зрения безопасности. Я не согласен, но поскольку это была моя рабочая станция, а не сетевой сервер, она выглядела относительно безопасной. В любом случае, его ответ лучше, и это то, на чем я, наконец, остановился, преследуя путь неудачи из-за того, что не указал правильный домен для пользователя AppPool.