IIS6 IUSR ASPNET PoolIdentity IWAM

02/11/2007 - 00:38 von Lutz Elßner | Report spam
Ich ziehe gerade von IIS5 auf IIS6 (Windows 2003 Web Edition) um.
Das Web besteht aus asp und aspx (NET 1.1) Seiten.
Beide Technologien greifen auf SQL Server (jetzt Express) zu.
Die ASP.NET Seiten schreiben auch noch ins lokale Dateisystem und in das
Ereignisprotokoll (in ein eigenes Protokoll, das aber schon angelegt ist).

Wer braucht nun wo welche Rechte? Gibts dazu eine Übersicht, weil man das
immer wieder braucht und immer wieder vergisst?


Konkret làuft der Application Pool unter NETZWERKDIENST (DefaultAppPool).
IUSR und NETZWERKDIENST haben Lese Rechte auf alle Dateien und Ordner im
Web.
identity impersonate ist true

ASPNET brauche ich nicht? Wozu ist der noch da?

Wer muss Rechte in (lokal) SQL Express bekommen bei integrierter Sicherheit?

Welche Identity schreibt in ein Ereignisprotokoll? Das funktionierte bei
IIS5. Darf das NETZWERKDIENST nicht?


Die aktuelle Fehlermeldung ist:

[InvalidOperationException: Cannot open log for source {0}. You may not have
write access.]
System.Diagnostics.EventLog.OpenForWrite() +367

Und zwar wird bei Start der Application ein Eintrag ins EventLog geschrieben
und das geht schief.
Beim IIS 5 (Windows 2000) lief das unter ASPNET und der hatte die Rechte.
(Mitglied von Users)


vielen Dank
Lutz
 

Lesen sie die antworten

#1 Robert Mischke
02/11/2007 - 07:45 | Warnen spam

ASPNET brauche ich nicht? Wozu ist der noch da?



ASPNET war der Benutzer der asp 1.1 worker prozesse startete und
verwaltete. Aber wenn ich das jetzt richtig sehe, (laufende Prozesse)
ist das Geschichte und die aspnet worker processe (w3wp.exe) laufen
nun unter dem "NT AUTHORITY\Network Service" account.


Wer muss Rechte in (lokal) SQL Express bekommen bei integrierter Sicherheit?



Lokal funktioniert das bei mir mit dem "Network Service" Benutzer (im
Connection String: Integrated Security=true;) Wenn die Datenbank auf
einem anderen Server liegt, geht das nicht mehr. Hast Du schon
geschaut ob NamedPipes als Protokoll aktiviert sind? Aus meiner Sicht
muß der "Server Browsser" auch laufen. ("compmgmt.msc -> Services and
Applications -> SQL Server Configuration Manager")


Welche Identity schreibt in ein Ereignisprotokoll? Das funktionierte bei
IIS5. Darf das NETZWERKDIENST nicht?



Ich hatte das Problem mit asp.net 1.1. Lokal ging es sehr gut, aber
beim deployen gab es Probleme. Damals habe ich an den Benutzerrechten
rumgespielt und mehr Rechte verteilt. (Ich hoffe es waren nicht
AdminRechte ;-)

Unter 2.0 mußt Du darauf achten, dass wenn Du einen Neuen Benutzer
anlegst er auch in der Gruppe IIS_WPG (IIS Worker Process Group)
landet.

Ich glaube dem EventLog kannst Du über die Registry erklàren wer da
reinschreiben darf. Über FileRechte (für die xy.log Dateien) geht das
leider nicht, wobei das viel praktischer wàre. Ich bin neugierig wie
das in Win2008 wird :-)

Wàre cool wenn Du des Ràtsel Lösung auch hier Posten könntest. Ich
finde das ist einer der Bereiche wo es schwer ist, wirklich zu
verstehen was passiert. Man kann es halt so schwer debuggen.. (und
jetzt bitte nicht http://en.wikipedia.org/wiki/SoftICE
vorschlagen :-).

Viele Grüße
Robert

www.speak-friend.de

Ähnliche fragen