Hier ist ein Problem mit IIS 7.5 und ASP.NET, die ich erforscht habe und immer nirgendwo mit. Jede Hilfe würde sehr geschätzt werden.
Meine Frage lautet: Wie erlaubt IIS und/oder das Betriebssystem bei Verwendung von ASP.NET in IIS 7.5 der Webanwendung das Schreiben in einen Ordner wie C:\dump
wenn sie unter vollem Vertrauen läuft? Wie kommt es, dass ich dem Benutzer des Anwendungspools nicht explizit Schreibzugriff gewähren muss (in diesem Fall ApplicationPoolIdentity
)?
So viel weiß ich:
- In IIS 7.5 lautet die Standardidentität für einen Anwendungspool
ApplicationPoolIdentity
. ApplicationPoolIdentity
steht für ein Windows-Benutzerkonto namens "IIS APPPOOL \AppPoolName "AppPoolName ist der Name des Anwendungspools, der bei der Erstellung des Anwendungspools erstellt wird.- Der "IIS APPPOOL \AppPoolName " ist standardmäßig ein Mitglied der Gruppe
IIS_IUSRS
Gruppe. - Wenn Sie unter Full Trust arbeiten, kann Ihre Webanwendung in viele Bereiche des Dateisystems schreiben (mit Ausnahme von Ordnern wie
C:\Users
,C:\Windows
, usw.). Zum Beispiel wird Ihre Anwendung Zugriff auf einige Ordner haben, wie z. B,C:\dump
. - Standardmäßig wird die
IIS_IUSRS
Gruppe keinen Lese- oder Schreibzugriff aufC:\dump
(zumindest kein Zugriff, der über die Registerkarte "Sicherheit" im Windows Explorer sichtbar ist). - Wenn Sie den Schreibzugriff auf
IIS_IUSRS
erhalten Sie eine SecurityException, wenn Sie versuchen, in den Ordner zu schreiben (wie erwartet).
Wenn man all das berücksichtigt, wie wird dann der Schreibzugriff auf den "IIS APPPOOL" gewährt? \AppPoolName Benutzer"? Der Prozess w3wp.exe wird unter diesem Benutzer ausgeführt. Was also erlaubt diesem Benutzer, in einen Ordner zu schreiben, auf den er anscheinend keinen expliziten Zugriff hat?
Bitte beachten Sie, dass dies wahrscheinlich aus Gründen der Bequemlichkeit gemacht wurde, da es mühsam wäre, einem Benutzer Zugriff auf jeden Ordner zu gewähren, in den er schreiben muss, wenn Sie die Anwendung mit voller Vertrauensstellung ausführen. Wenn Sie diesen Zugriff einschränken möchten, können Sie die Anwendung immer unter mittlerem Vertrauen ausführen. Ich bin daran interessiert, herauszufinden, wie das Betriebssystem und/oder IIS diese Schreibvorgänge zulässt, obwohl offenbar kein expliziter Dateisystemzugriff gewährt wird.