Вот проблема с IIS 7.5 и ASP.NET, которую я исследовал и до сих пор не нашел. Любая помощь будет принята с благодарностью.
Мой вопрос: используя ASP.NET в IIS 7.5, как IIS и / или операционная система позволяют веб-приложению выполнять запись в папку, как C:\dump
при работе с полным доверием? Почему мне не нужно явно добавлять права на запись для пользователя пула приложений (в данном случае ApplicationPoolIdentity
)?
Это много я знаю
- В IIS 7.5 идентификатор по умолчанию для пула приложений -
ApplicationPoolIdentity
. ApplicationPoolIdentity
представляет учетную запись пользователя Windows с именем «IIS APPPOOL \ AppPoolName», которая создается при создании пула приложений, где AppPoolName - это имя пула приложений.- Пользователь «IIS APPPOOL \ AppPoolName» по умолчанию является членом
IIS_IUSRS
группы. - Если вы работаете под Full Trust, веб - приложение может написать во многих областях файловой системы (исключая папки , такие как
C:\Users
,C:\Windows
и т.д.). Например, ваше приложение будет иметь доступ к записи в некоторых папках, например,C:\dump
. - По умолчанию
IIS_IUSRS
группе не предоставлены права на чтение или записьC:\dump
(по крайней мере, на доступ, который виден через вкладку «Безопасность» в проводнике Windows). - Если вы запретите доступ для записи
IIS_IUSRS
, вы получите SecurityException при попытке записи в папку (как и ожидалось).
Итак, учитывая все это, как предоставляется доступ на запись пользователю «IIS APPPOOL \ AppPoolName»? Процесс w3wp.exe запускается от имени этого пользователя, так что позволяет этому пользователю писать в папку, к которой у него нет явного доступа?
Обратите внимание, что я понимаю, что, вероятно, это было сделано для удобства, так как было бы затруднительно предоставить пользователю доступ к каждой папке, в которую он должен писать, если вы работаете в режиме полного доверия. Если вы хотите ограничить этот доступ, вы всегда можете запустить приложение под Medium Trust. Я заинтересован в том, чтобы узнать, как операционная система и / или IIS позволяют выполнять эти записи, даже если нет явного доступа к файловой системе.