421 Stimmen

IIS7 Berechtigungsübersicht - Anwendungs-Pool-Identität

Wir haben kürzlich auf IIS7 als Kern-Webserver aktualisiert und ich brauche einen Überblick über die Berechtigungen. Früher musste ich dem AppPool-Benutzer (Netzwerkdienst) Zugriff auf das Verzeichnis oder die Datei geben, wenn ich in das Dateisystem schreiben musste.

In IIS7 sehe ich, dass standardmäßig der AppPool-Benutzer auf ApplicationPoolIdentity gesetzt ist. Wenn ich jedoch im Task-Manager überprüfe, sehe ich, dass ein Benutzerkonto namens WebSite.example den IIS-Prozess ausführt ('WebSite.example' ist der Name der Website im IIS).

Dieses Benutzerkonto existiert jedoch nicht, wenn ich versuche, Berechtigungen damit zu vergeben. Wie finde ich also heraus, welchem Benutzer ich die Berechtigungen geben sollte?

Siehe unten das Problem im Screenshot. Unsere Website (www.silverchip.co.uk) läuft unter dem Benutzernamen SilverChip.co.uk. Wenn ich jedoch Berechtigungen hinzufüge, existiert dieser Benutzer nicht!

Siehe AppPool Bild:

4 Stimmen

Eigentlich ist die Microsoft-Information zu diesem Thema sehr gut Anwendungspool-Identitäten

795voto

Jon Adams Punkte 23566

ApplicationPoolIdentity ist tatsächlich bewährte Praxis in IIS7+. Es handelt sich um ein dynamisch erstelltes, nicht privilegiertes Konto. Um die Dateisystem-Sicherheit für ein bestimmtes Anwendungspool hinzuzufügen, siehe IIS.net's "Anwendungspool-Identitäten". Die schnelle Version:

Wenn der Anwendungspool "DefaultAppPool" genannt wird (ersetzen Sie diesen Text unten einfach, wenn er anders benannt ist)

  1. Öffnen Sie den Windows Explorer
  2. Wählen Sie eine Datei oder Verzeichnis aus.
  3. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Eigenschaften"
  4. Wählen Sie den Tab "Sicherheit"
  5. Klicken Sie auf "Bearbeiten" und dann auf "Hinzufügen"
  6. Klicken Sie auf die Schaltfläche "Orte" und stellen Sie sicher, dass Sie die lokale Maschine auswählen. (Nicht die Windows-Domäne, wenn der Server zu einer gehört.)
  7. Geben Sie "IIS AppPool\DefaultAppPool" in das Textfeld "Geben Sie die Objektnamen ein, um sie auszuwählen:" ein. (Vergessen Sie nicht, "DefaultAppPool" hier durch den Namen Ihres Anwendungspools zu ersetzen.)
  8. Klicken Sie auf die Schaltfläche "Namen überprüfen" und dann auf "OK".

13 Stimmen

@Pino: Nein, nicht der Name der Webseite. Verwenden Sie den Anwendungspool-Namen. Jede Webseite ist einem Anwendungspool zugewiesen. Sie können erkennen, welcher dies ist, im Dialogfeld Eigenschaften der Webseite unter Grundlegende Einstellungen (in IIS7).

1 Stimmen

Das ist der AppPool? Siehe den neuen Bildschirmausdruck.

2 Stimmen

@Pino: In diesem Fall ist die Sicherheitsrolle, die Sie verwenden sollten, IIS AppPool\silverchip.co.uk. Ich habe jedoch noch keine Punkte in Sicherheitsnamen ausprobiert - vielleicht möchten Sie es in etwas ohne Satzzeichen ändern.

111voto

James Toomey Punkte 5343

Denken Sie daran, den lokalen Namen des Servers zu verwenden, nicht den Domänennamen, wenn Sie den Namen auflösen

IIS AppPool\DefaultAppPool

(nur eine Erinnerung, weil mich das eine Weile aufgehalten hat):Bildbeschreibung hier eingeben

1 Stimmen

Ja, das vergesse ich jedes Mal, danke für die Erinnerung James Toomey!

0 Stimmen

So aus welcher Quelle können wir den Namen des lokalen Servers herausfinden

0 Stimmen

@user889030, Sie können entweder hostname in der Befehlszeile eingeben oder auf das Symbol "Mein Computer" im Datei-Explorer mit der rechten Maustaste klicken und Eigenschaften auswählen, dann wird es dort aufgelistet.

40voto

Zanon Punkte 25577

Den Zugriff auf den IIS AppPool\YourAppPoolName-Benutzer zu geben, könnte mit den Standardkonfigurationen von IIS nicht ausreichen.

In meinem Fall hatte ich immer noch den Fehler HTTP Error 401.3 - Unauthorized, nachdem ich den AppPool-Benutzer hinzugefügt hatte, und es wurde nur behoben, nachdem Berechtigungen für den IUSR-Benutzer hinzugefügt wurden.

Dies ist erforderlich, da standardmäßig der anonyme Zugriff über den IUSR erfolgt. Sie können einen anderen spezifischen Benutzer festlegen, den Anwendungspool verwenden oder weiterhin den IUSR verwenden, aber vergessen Sie nicht, die entsprechenden Berechtigungen festzulegen.

authentication tab

Credits zu dieser Antwort: HTTP Error 401.3 - Unauthorized

4 Stimmen

Dies ist entscheidend!!! Muss die "Anonyme Authentifizierung" aus Sicherheitsgründen in "Anwendungspool-Identität" ändern! Ich bin sicher, dass es einen guten Grund gibt, warum es auf IUSR eingestellt ist, aber mir fällt keiner ein. Danke!!!

0 Stimmen

Dies hat das Problem für mich behoben. Es könnte daran liegen, dass meine Version von IIS 8 auf Windows Server 2012 R2 läuft.

4 Stimmen

Das ist ein wichtiger Schritt, der zur akzeptierten Antwort hinzugefügt werden sollte. Der einfachste Weg ist es auch, das Optionsfeld auf Anwendungs-Pool Identität zu ändern.

31voto

Chris Punkte 325

Auf Windows Server 2008(r2) können Sie einem Ordner nicht über Eigenschaften-> Sicherheit die Anwendungspool-Identität zuweisen. Sie können dies jedoch über eine admin Eingabeaufforderung mit folgendem Befehl tun:

icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)

1 Stimmen

Können Sie das ein wenig erklären? Was bedeutet (R)? Geben Sie tatsächlich spitze Klammern in diesem Befehl ein?

3 Stimmen

Hallo Kate, ich habe <> verwendet, um "deinen App-Pool-Namen hier" zu kennzeichnen, aber einen legitimen AppPool-Namen stehen gelassen. In IIS Manager -> Anwendungspools musst du den Namen übereinstimmen lassen, einschließlich Leerzeichen. Der letzte, den ich gemacht habe, war "IIS AppPool\ClientName_CompanyName - Intranet". :(R) bedeutet in diesem Fall, Lesezugriff gewähren. Du kannst auch F (voll), M (ändern), RX (lesen+ausführen) und W (nur schreiben) verwenden.

10 Stimmen

Sie können tatsächlich über das Register "Sicherheit" in den Eigenschaften in Windows Server 2008 R2 zuweisen, daher sollten Sie diese Umgehung nicht benötigen. Stellen Sie sicher, dass Sie integrierte Sicherheitsprinzipale für Objekttypen und Standort ausgewählt haben.

15voto

Dibyodyuti Mondal Punkte 111

Teil A: Konfigurieren Ihres Anwendungspools

Angenommen, der Anwendungspool heißt 'MeinPool' Gehen Sie im IIS-Manager zu 'Erweiterte Einstellungen' des Anwendungspools

  1. Scrollen Sie zu 'Identität'. Wenn Sie versuchen, den Wert zu bearbeiten, wird ein Dialogfeld angezeigt. Wählen Sie 'Eingebauten Konto' und darunter 'Anwendungs-Pool Identität' aus.

  2. Ein paar Zeilen unterhalb von 'Identität' sollten Sie 'Benutzerprofil laden' finden. Dieser Wert sollte auf 'True' gesetzt sein.

Teil B: Konfigurieren Ihrer Website

  1. Name der Website: SiteName (nur ein Beispiel)
  2. Physischer Pfad: C:\Whatever (nur ein Beispiel)
  3. Verbinden als... : Anwendungsbenutzer (Durchlaufauthentifizierung) (Die oben genannten Einstellungen finden Sie in den 'Grundlegenden Einstellungen' der Website im IIS-Manager)
  4. Nachdem Sie die Grundlegenden Einstellungen konfiguriert haben, suchen Sie in der Hauptkonsole der Website unter 'IIS' nach der Konfiguration für 'Authentifizierung'. Öffnen Sie diese. Dort sollte eine Option für 'Anonyme Authentifizierung' vorhanden sein. Stellen Sie sicher, dass sie aktiviert ist. Klicken Sie dann mit der rechten Maustaste und wählen Sie 'Bearbeiten...'. Wählen Sie 'Anwendungspool-Identität' aus.

Teil C: Konfigurieren Ihres Ordners

Der betroffene Ordner ist C:\Whatever

  1. Gehen Sie zu Eigenschaften - Freigabe - Erweiterte Freigabe - Berechtigungen und setzen Sie ein Häkchen bei 'Diesen Ordner freigeben'
  2. In demselben Dialogfeld finden Sie eine Schaltfläche 'Berechtigungen'. Klicken Sie darauf.
  3. Ein neues Dialogfeld wird geöffnet. Klicken Sie auf 'Hinzufügen'.
  4. Ein neues Dialogfeld 'Benutzer oder Gruppen auswählen' wird geöffnet. Stellen Sie sicher, dass unter 'Aus diesem Ort' der Name mit dem Ihres lokalen Host-Computers übereinstimmt. Geben Sie unter 'Objektnamen eingeben' 'IIS AppPool\MeinPool' ein und klicken Sie auf 'Namen überprüfen' und dann 'OK'
  5. Geben Sie dem Benutzer 'MeinPool' volle Freigabeberechtigungen. Wenden Sie es an und schließen Sie die Ordner-Eigenschaften
  6. Öffnen Sie die Ordner-Eigenschaften erneut. Gehen Sie dieses Mal zu Sicherheit - Erweitert - Berechtigung, und klicken Sie auf Hinzufügen. Es wird eine Option 'Hauptbenutzer auswählen' oben oder eine andere Option zum Auswählen eines Benutzers geben. Klicken Sie darauf.
  7. Das Dialogfeld 'Benutzer oder Gruppen auswählen' wird erneut geöffnet. Wiederholen Sie Schritt 4.
  8. Geben Sie dem Benutzer 'MeinPool' alle oder so viele Berechtigungen wie Sie benötigen.
  9. Aktivieren Sie 'Alle untergeordneten Objektberechtigungen ersetzen..." und wenden Sie es an.

Jetzt sollten Sie die Website durchsuchen können

0 Stimmen

Du bist der König des Dschungels! Danke

1 Stimmen

Warum den Ordner "freigeben"? Es ist nicht nötig, ihn "freizugeben". Dies ist ein Sicherheitsrisiko. Ändern Sie einfach die Berechtigungen unter dem Tab "Sicherheit".

0 Stimmen

Das IIS AppPool\MyAppPool ist genau das, was ich gebraucht habe. Vielen Dank!

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