436 Stimmen

IIS AppPoolIdentity und Schreibrechte für das Dateisystem

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 auf C:\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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X