Oto problem z usługami IIS 7.5 i ASP.NET, który badałem i do czego nie docierałem. Każda pomoc byłaby bardzo mile widziana.
Moje pytanie brzmi: używając programu ASP.NET w IIS 7.5, w jaki sposób IIS i / lub system operacyjny pozwalają aplikacji internetowej pisać w folderze, na przykład w C:\dump
trybie pełnego zaufania? W jaki sposób nie muszę jawnie dodawać uprawnień do zapisu dla użytkownika puli aplikacji (w tym przypadku ApplicationPoolIdentity
)?
Tyle wiem:
- W IIS 7.5 domyślną tożsamością dla puli aplikacji jest
ApplicationPoolIdentity
. ApplicationPoolIdentity
reprezentuje konto użytkownika systemu Windows o nazwie „IIS APPPOOL \ AppPoolName”, które jest tworzone podczas tworzenia puli aplikacji, gdzie AppPoolName jest nazwą puli aplikacji.- Użytkownik „IIS APPPOOL \ AppPoolName” jest domyślnie członkiem
IIS_IUSRS
grupy. - Jeśli są uruchomione w pełnym zaufaniem, aplikacja internetowa może napisać do wielu obszarach systemu plików (z wyłączeniem foldery podoba
C:\Users
,C:\Windows
itp). Na przykład, aplikacja będzie miała dostęp do zapisu niektórych folderów, jak,C:\dump
. - Domyślnie
IIS_IUSRS
grupa nie ma dostępu do odczytu ani zapisuC:\dump
(przynajmniej brak dostępu, który jest widoczny na karcie „Bezpieczeństwo” w Eksploratorze Windows). - Jeśli odmówisz dostępu do zapisu
IIS_IUSRS
, otrzymasz SecurityException podczas próby zapisu do folderu (zgodnie z oczekiwaniami).
Biorąc to wszystko pod uwagę, w jaki sposób przyznaje się dostęp do zapisu użytkownikowi „IIS APPPOOL \ AppPoolName”? Proces w3wp.exe działa jako ten użytkownik, więc co pozwala temu użytkownikowi pisać do folderu, do którego nie wydaje się mieć wyraźnego dostępu?
Należy pamiętać, że rozumiem, że prawdopodobnie zostało to zrobione ze względu na wygodę, ponieważ trudno byłoby udzielić użytkownikowi dostępu do każdego folderu, do którego należy pisać, jeśli działa się w trybie pełnego zaufania. Jeśli chcesz ograniczyć ten dostęp, zawsze możesz uruchomić aplikację w obszarze Średniego zaufania. Chcę dowiedzieć się, w jaki sposób system operacyjny i / lub IIS zezwalają na te zapisy, nawet jeśli wydaje się, że nie przyznano dostępu do jawnego systemu plików.