it-swarm.com.de

So weisen Sie dem ApplicationPoolIdentity-Konto Berechtigungen zu

In IIS 7 unter Windows Server 2008 können Anwendungspools als "ApplicationPoolIdentity" -Konto anstelle des NetworkService-Kontos ausgeführt werden.

Wie ordne ich diesem Konto "ApplicationPoolIdentity" Berechtigungen zu? Es wird nicht als lokaler Benutzer auf dem Computer angezeigt. Es wird nirgendwo als Gruppe angezeigt. Nichts in der Ferne erscheint irgendwo. Wenn ich nach lokalen Benutzern, Gruppen und integrierten Konten suche, wird diese weder in der Liste noch in der Liste angezeigt. Was ist los?

Ich bin nicht der einzige mit diesem Problem: siehe Problem mit ApplicationPoolIdentity in IIS 7.5 + Windows 7 für ein Beispiel.


"Dies ist leider eine Einschränkung der Objektauswahl unter Windows Server 2008/Windows Vista. Wie bereits von mehreren Personen festgestellt, können Sie die ACL für die Identität des App-Pools mithilfe von Befehlszeilentools wie icacls bearbeiten =. "

266
Triynko

Update: Die ursprüngliche Frage war für Windows Server 2008, aber die Lösung ist für Windows Server 2008 R2 und Windows Server 2012 (und Windows 7 und 8) einfacher. . Sie können den Benutzer über die NTFS-Benutzeroberfläche hinzufügen, indem Sie ihn direkt eingeben. Der Name hat das Format IIS APPPOOL\{Name des App-Pools}. Beispiel: IIS APPPOOL\DefaultAppPool).

IIS APPPOOL\{app pool name}

Hinweis: Gemäß den Kommentaren unten sind zwei Dinge zu beachten:

  • Geben Sie die Zeichenfolge direkt in das Feld "Benutzer oder Gruppe auswählen" und nicht in das Suchfeld ein.
  • In einer Domänenumgebung Sie müssen zuerst den Speicherort auf Ihrem lokalen Computer festlegen.

Verweis auf Microsoft Docs-Artikel: Anwendungspoolidentitäten> Ressourcen sichern

Ursprüngliche Antwort: (für Windows Server 2008) Dies ist eine großartige Funktion, die jedoch, wie Sie bereits erwähnt haben, noch nicht vollständig implementiert ist. Sie können die App-Pool-Identität über den Befehl Eingabeaufforderung mit etwas wie icacls hinzufügen und dann über die GUI verwalten. Führen Sie beispielsweise Folgendes über den Befehl Eingabeaufforderung aus:

icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Wechseln Sie dann im Windows Explorer zum Ordner wwwroot und bearbeiten Sie die Sicherheitsberechtigungen. Sie sehen, wie eine Gruppe (das Gruppensymbol) namens DefaultAppPool aussieht. Sie können jetzt die Berechtigungen bearbeiten.

Sie müssen dies jedoch überhaupt nicht verwenden. Es ist ein Bonus, den Sie verwenden können, wenn Sie möchten. Sie können die alte Methode zum Erstellen eines benutzerdefinierten Benutzers pro App-Pool und zum Zuweisen des benutzerdefinierten Benutzers zur Festplatte verwenden. Das hat volle UI-Unterstützung.

Diese SID-Injektionsmethode ist hilfreich, da Sie damit einen einzelnen Benutzer verwenden können, aber jede Site vollständig voneinander isolieren können, ohne eindeutige Benutzer für jeden App-Pool erstellen zu müssen. Ziemlich beeindruckend, und mit UI-Unterstützung wird es noch besser.

Hinweis: Wenn Sie den Benutzer des Anwendungspools nicht finden können, überprüfen Sie, ob der Windows-Dienst namens Application Host Helper Service ausgeführt wird. Es ist der Dienst, der Benutzer des Anwendungspools Windows-Konten zuordnet.

291

Sie müssen sicherstellen, dass das Feld From this location Auf local machine Und nicht auf die Domäne gesetzt ist.

Ich hatte das gleiche Problem und als ich es geändert habe, hat es gut funktioniert.

24
Alan

Sie sollten wirklich Gruppen pro "Rolle" erstellen und diese Gruppenzugriffe auf das Dateisystem zuweisen. Fügen Sie dann den App-Pool nach Bedarf zu den rollenspezifischen Gruppen hinzu. Selbst wenn Sie den App-Pool später entfernen (und der virtuelle Benutzer poof), müssen Sie sich auf diese Weise nicht um das Wiederherstellen aller Berechtigungen kümmern. Fügen Sie einfach den Ersatz-App-Pool zur vorhandenen Gruppe hinzu.

4
Jimbo

Nachdem ich die Antwort von @Scott Forsyth - MVP gelesen hatte, versuchte ich, den Application Host Helper Service neu zu starten. Das hat das Problem für mich gelöst.

3
Roger

Wenn es bei dieser Frage darum geht, wie _sp_send_dbmail in der msdb-Datenbank ausgeführt wird (unter Verwendung der in msdb gespeicherten Prozedur SQL send Database Mail), finden Sie hier einige Umgehungsmöglichkeiten. Fügen Sie dem MSDB-Benutzer mit der Rollenmitgliedschaft "DatabaseMailUserRole" den Benutzernamen der .net-Anwendung Ihrer Datenbank hinzu (der in Ihrer Verbindungszeichenfolge in Ihrer .net-App definiert ist)

0
Muhamad Faried

Ich habe WS8 R2 ausgeführt und konnte IIS APPPOOL\DefaultAppPool Nicht über den Windows Explorer hinzufügen. Der einzige Weg, wie es funktionierte, war über die Kommandozeile:

cacls [DATEIPFAD]/T/E/G "IIS APPPOOL\DefaultAppPool": C.

0
Denis Tse