IIS7-Ordnerberechtigungen für Webanwendungen

89

Ich verwende die Windows-Authentifizierung ohne Identitätswechsel auf der Intranet-Website meines Unternehmens mit IIS7.

Welches Konto wird unter IIS7 verwendet, um mit diesen Einstellungen auf den Ordner zuzugreifen, der meine Web-App enthält?

Wäre es IIS_IUSRS? Oder NETZWERKSERVICE? Oder eine andere, von der ich nichts weiß?

Andrew
quelle
Mögliches Duplikat der Schreibzugriffsberechtigungen
KyleMit

Antworten:

125

In IIS 7 (nicht IIS 7.5) greifen Sites auf Dateien und Ordner zu, die auf dem im Anwendungspool für die Site festgelegten Konto basieren. In IIS7 ist dieses Konto standardmäßig NETWORK SERVICE.

Geben Sie eine Identität für einen Anwendungspool an (IIS 7).

In IIS 7.5 (Windows 2008 R2 und Windows 7) werden die Anwendungspools unter der ApplicationPoolIdentity ausgeführt, die beim Start des Anwendungspools erstellt wird. Wenn Sie ACLS für dieses Konto festlegen möchten, müssen Sie IIS AppPool\ApplicationPoolNamestattdessen auswählen NT Authority\Network Service.

Thomas
quelle
34
Beachten Sie, dass es nicht wörtlich ist IIS AppPool\ApplicationPoolName, aber IIS AppPool\<yourpoolname>.
Jeff S
20
In IIS 7.5 lautet die Standardidentität für einen Anwendungspool ApplicationPoolIdentity. ApplicationPoolIdentity stellt ein Windows-Benutzerkonto mit dem Namen "IIS APPPOOL \ AppPoolName" dar, das beim Erstellen des Anwendungspools erstellt wird, wobei AppPoolName der Name des Anwendungspools ist. Der Benutzer "IIS APPPOOL \ [AppPoolName]" ist standardmäßig Mitglied der Gruppe IIS_IUSRS. Sie müssen also Schreibzugriff auf die Gruppe
IIS_IUSRS
Benutzer neuerer Windows-Versionen finden diesen Artikel möglicherweise hilfreich für die Konfiguration des Kontos "AppPool \ DefaultAppPool", wenn sie ein ähnliches Problem haben: iis.net/learn/manage/configuring-security/… . Dies hilft auch dabei, den Fehler zu vermeiden, den ich nach dem Update von Windows 8 auf 8.1 erhalten habe. Dort heißt es: "Beim Laden einer Konfigurationsdatei ist ein Fehler aufgetreten: Fehler beim Starten der Überwachung von Änderungen an [vollständiger Dateipfad], da der Zugriff verweigert wurde."
Matty J
Ich habe dem Anwendungspool die volle Berechtigung erteilt, erhalte aber immer noch den verweigerten Zugriff.
Yousi
25

http://forums.iis.net/t/1187650.aspx hat die Antwort. Durch Festlegen der iis-Authentifizierung auf die Identität des Anwendungspools wird dies behoben.

Bei der IIS-Authentifizierung wurde die anonyme Authentifizierung auf "Bestimmter Benutzer" festgelegt. Wenn ich es in Anwendungspool geändert habe, kann ich auf die Site zugreifen.

Klicken Sie zum Festlegen auf Ihre Website in IIS und doppelklicken Sie auf "Authentifizierung". Klicken Sie mit der rechten Maustaste auf "Anonyme Authentifizierung" und klicken Sie auf "Bearbeiten ...". Wechseln Sie von "Bestimmter Benutzer" zu "Anwendungspoolidentität". Jetzt sollten Sie in der Lage sein, Datei- und Ordnerberechtigungen mit dem IIS AppPool \ {Name Ihres App-Pools} festzulegen.

Nat
quelle
3
Das hat enorm geholfen. Wenn Sie die anonyme Authentifizierung nicht von "Bestimmter Benutzer" in "Anwendungspoolidentität" ändern, werden Ihre Berechtigungsänderungen beim Festlegen der Berechtigungen IIS AppPool \ {Name Ihres App-Pools} nicht berücksichtigt.
David
OH MEIN GOTT. Niemand scheint das zu verstehen. Dies löste gerade Stunden des Grabens.
Joe Swindell
17

Unter IIS 7.5 hatte ich Glück, Berechtigungen für den lokalen Computerbenutzer IUSR hinzuzufügen . Der Benutzer des App-Pools hat nicht funktioniert.

Kenny Evitt
quelle
15

Wenn es jemandem hilft, geben Sie der Gruppe "IIS_IUSRS" die Erlaubnis.

Beachten Sie, dass Sie "IIS_IUSRS" nicht mit dem Namen Ihres Servers voranstellen können, z. B. "MySexyServer \ IIS_IUSRS".

JohnnyFun
quelle
Das hat es für mich getan. Mir fehlte der Servername und ich hatte noch niemanden gesehen, der das erwähnte.
Drichardson
Dafür können Sie immer die lokale Notation ". \ IIS_IUSRS" verwenden
Bernhard
2

Arbeitete für mich in 30 Sekunden, kurz und bündig:

  1. Im IIS-Manager (inetmgr ausführen)
  2. Gehen Sie zu ApplicationPool -> Erweiterte Einstellungen
  3. Setzen Sie ApplicationPoolIdentity auf NetworkService
  4. Gehen Sie zur Datei, klicken Sie mit der rechten Maustaste auf Eigenschaften, gehen Sie zur Sicherheit, klicken Sie auf Bearbeiten, klicken Sie auf Hinzufügen, geben Sie den Netzwerkdienst ein (mit Leerzeichen, klicken Sie dann auf "Namen überprüfen") und geben Sie die vollständige Kontrolle (oder nur die erforderlichen Berechtigungen).
Jason Hitchings
quelle
Das hat es geschafft! Danke
Yazan Khalaileh
0
  1. Unter IIS 7.5 und Windows 7 konnte ich keine Berechtigung für APPPOOL / Mypool erteilen
  2. IUSR- und IIS_IUSRS-Berechtigungen funktionieren bei mir nicht
  3. Ich habe folgendes Problem:

    -Erstellte Konsolenanwendung mit C #
    -Diese Anwendung mit einer solchen createeventsource

    if (! System.Diagnostics.EventLog.SourceExists (sourceName)) System.Diagnostics.EventLog.CreateEventSource (sourceName, logName);

    - Erstellen Sie eine Lösung und holen Sie sich die EXE-Datei

    - Führen Sie exe als Administrator aus. Dadurch wird eine Protokolldatei erstellt.

HINWEIS: Die Ereignisanzeige muss nicht aktualisiert werden, damit das Protokoll angezeigt wird.

Ich hoffe diese Lösung hilft jemandem :)

Alper Tunga Arslan
quelle